当前位置:  开发笔记 > 编程语言 > 正文

Jquery getJson没有调用回调

如何解决《JquerygetJson没有调用回调》经验,为你挑选了2个好方法。

我有以下javascript代码:

$.get("categories/json_get_cities/" + stateId,  function(result)
        {            
            //code here
        }, 'json'
    );

处理它的PHP代码基本上输出如下内容:

function json_get_cities($stateId)
{
    //code here
    echo json_encode(array('cities'=>$cities));
}

在firebug控制台中,我可以看到正在按预期进行ajax请求,收到200 OK响应,并返回包含城市的看似正确的JSON对象.但是由于某种原因,我没有调用我传递给jquery的回调函数.

甚至debugger在函数的顶部打电话,即

$.get("categories/json_get_cities/" + stateId,  function(result)
        {            
            debugger;
            //code here
        }, 'json'
    );

不起作用.但是,如果我删除'json'的第三个参数,则调用该函数(但响应文本被视为纯文本而不是JSON对象).

这是服务器返回的JSON响应:

{"cities":[{"id":"1613","stateId":"5","name":"Acton"}]}

有什么想法吗?



1> David Hellsi..:

你确认这是有效的JSON吗?在jQuery 1.4中,JSON解析以严格的方式完成,任何格式错误的JSON都被拒绝并抛出parsererror.

尝试console.log(arguments)回调调试.

另外,你声明'json'是第四个参数,但它应该是第三个参数(如你的例子中所示).



2> ctrlShiftBry..:

使用这个确保json有效...

JSON验证器

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有