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 コードを実行してブラウザーを更新すると、すべてが期待どおりに機能します (ブラウザーがリロードされます)。2 番目の 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 に答える