0

服务器端 PHP 脚本

echo " ";
while(connection_aborted()==0) {
    sleep(10);
}

客户端 JQuery 代码(工作正常)

$.post("/url/to/server", some_data, function (d) {
    console.log(d);
})

客户端 JQuery 代码(导致问题)

$.post("/url/to/server", some_data, function (d) {
    console.log($.parseJSON(d));
})

当我运行第一个 JQuery 代码并刷新浏览器时,一切都按预期工作(浏览器重新加载)。当运行第二个 JQuery 代码(注意 parseJSON)并尝试刷新浏览器时,浏览器被锁定(Chrome),它永远不会重新加载。jquery 帖子导致了这个锁,但我不明白为什么?为什么回调函数中的parseJSON会导致浏览器锁定。有什么解决方法吗?

仅供参考:上面的代码只是我实际编码的一个小版本,在我的真实代码中,我从服务器端传递真实的 JSON 数据,并使用 JQuery 处理它。

4

2 回答 2

0

试试看

$.post("/url/to/server", some_data, function (d) {
    console.log(d);
}, "json");

如果它仍然无法正常工作,我们需要您的 JSON 样本。

于 2012-04-19T01:40:08.223 回答
0

似乎没有任何正当理由$.parseJSON永远阻止/锁定您的浏览器。"d"您收到的变量到底是什么?它的大小是多少?

您还必须前往:

Chrome --> Right click --> Inspect element --> 
Profiles --> Collect Javascript CPU Profile

检查并查看浏览器端到底出了什么问题。

于 2012-04-19T01:41:05.767 回答