我的 ZF2 应用程序中有一个 jQuery ajax 调用。它以前工作过。突然就不行了。即使我在请求中放置了一个不存在的操作,它也不会像以前那样给出服务器错误。似乎它没有提出请求。
控制台中绝对没有错误。一切正常,直到我提出请求为止。这是它所在的功能:
$('.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;
}