jQuery ajax post请求不';不要突然工作,
我在ZF2应用程序中有一个jQuery ajax调用。它以前就起作用了。突然间,它就不起作用了。即使我在请求中放置了一个不存在的操作,它也不会像以前那样给出服务器错误。看起来好像它没有提出要求 控制台中绝对没有错误。在我提出请求之前,一切都正常。这就是它的功能:jQuery ajax post请求不';不要突然工作,,ajax,jquery,zend-framework2,Ajax,Jquery,Zend Framework2,我在ZF2应用程序中有一个jQuery ajax调用。它以前就起作用了。突然间,它就不起作用了。即使我在请求中放置了一个不存在的操作,它也不会像以前那样给出服务器错误。看起来好像它没有提出要求 控制台中绝对没有错误。在我提出请求之前,一切都正常。这就是它的功能: $('.expand').click(function(){ var CCID = $(this).parent().attr('id'); CCID = parseInt(CCID); console.log
$('.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');
}
});
就像我之前说的,绝对没有错误,并且记录了我评论过的所有错误。希望我犯了个愚蠢的错误,你能发现。已经检查过很多次了,找不到
如果有人想查看该操作,我会在我的控制器中添加该操作,但是post请求似乎甚至没有查找它,因为如果我给它一个伪操作,它不会给出错误
编辑:下面是一些额外信息
因此,我应评论员的请求添加了一个失败处理程序,它返回:
failed [Object, "parseerror", SyntaxError]
在SyntaxError中,它说“意外令牌Arun p Johny教我使用Google Chrome开发者工具中的网络选项卡来解决问题。从那里我可以看到路径“admin/expand”应该是“expand”
这可能是一个本地化的答案,但我觉得他关于使用网络选项卡的建议非常有用,足以证明答案是正确的。也许在某个时候它对其他人会有帮助。尝试添加一个失败处理程序,看看它是否被调用
$.post('admin/expand',{..},function(){})。fail(function(){console.log('failed',arguments)}
你能澄清几件事吗:1)“突然它不再工作了”:它以前工作过吗,你改变了什么,你说“不工作”是什么意思?2)你发送了什么请求(在Chrome/Firefox中检查检查程序)3)您得到的响应是什么,状态代码是什么?@ArunPJohny-Wow,以前不知道。这肯定返回了一些信息。falied[Object,“parseerror”,SyntaxError]
SyntaxError是查看的最佳地方吗?它有点大,让人望而生畏。在进行ajax调用时,请尝试在web浏览器中查看控制台日志。可能是ajax调用失败,或者是响应有问题。在这种情况下,最好的工具是使用FireFox的firebug或Chrome的developer tools,并在中使用“网络”选项卡这些工具用于评估ajax请求和响应属性
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;
}