У меня есть jQuery ajax-вызов в моем приложении ZF2. Он просто работал раньше. Вдруг он больше не будет работать. Даже когда я помещаю несуществующее действие в запрос, он не дает серверной ошибки, как раньше. Кажется, он не делает запрос.jQuery ajax post request не работает внезапно,
В консоли нет ошибок. Все работает до тех пор, пока я не сделаю запрос. Это функция это в:
$('.expand').click(function(){
var CCID = $(this).parent().attr('id');
CCID = parseInt(CCID);
console.log(CCID); // Works
if($.inArray(CCID,$expanded) > -1){
foldin(CCID);
} else {
console.log('Works up to here.'); // Works
$.post('admin/expand', {
id: CCID
},function(data){
console.log('Doesn\'t log this.'); // Doesn't work
if(data.hasOwnProperty('info')){
console.log('sup');
expand(data.info);
} else {
console.log('Can\'t find customer info.');
}
},'json');
}
});
Как я уже говорил, абсолютно никаких ошибок, и записывает все биты, которые я заметил, что делать. Надеюсь, я сделал глупую ошибку, и вы можете это заметить. Уже через это куча раз, не могу найти его.
Я добавлю действие в свой контроллер, если кто-то захочет его увидеть, но почтовый запрос даже не ищет его, потому что он не дает ошибку, если я даю ему фиктивное действие.
редактировать: Ниже некоторая дополнительная информация
Поэтому я добавил обработчик отказа в просьбе комментатора, он вернулся:
failed [Object, "parseerror", SyntaxError]
В SyntaxError он говорит: «неожиданный маркер <», но в файле .js нет ни одного файла, и я не могу найти, где он говорит мне, какую строку/файл он находит. Вероятно, это поможет.
Это действие, которое я вызываю в контроллере. Не похоже, чтобы найти его на всех, хотя:
public function expandAction(){
$request = $this->getRequest();
$response = $this->getResponse();
if($request->isPost()){
$post_data = $request->getPost();
$CCID = $post_data['id'];
$customer = $this->getCustomerTable()->getCustomer($CCID);
$response->setContent(\Zend\Json\Json::encode(array(
'info' => $customer,
)));
}
return $response;
}
Попробуйте добавить обработчик отказа и посмотреть, получится ли он '$ .post ('admin/expand', {..}, function() {}). Fail (function() {console.log (' не удалось ", аргументы)})' –
Можете ли вы пояснить несколько вещей: 1) «Вдруг это больше не будет работать»: раньше это работало, что вы изменили, что вы имеете в виду «не работает»? 2) Каков запрос, который вы отправляете (проверьте инспектор в Chrome/Firefox). 3) Каков ответ, который вы возвращаете, что такое код состояния? –
@ArunPJohny Ух ты, не знал этого раньше. Это определенно что-то вернуло. 'falied [Object," parseerror ", SyntaxError]' Is SyntaxError - лучшее место для просмотра? Это немного большая и сложная задача. – vanamerongen