JsがJsonの「invalid label」エラーを処理
1700 ワード
ajaxを使用する場合、jsonは便利なデータ伝送手段です.しかし、多くの人にとって、よく出会う悩ましい問題は「invalid label」が間違っていることだ.json串が正しいように見えるのに、どうしてまた間違いを犯すのですか?
たとえば、次のコードがあります.
ブラウザはinvalid labelが間違っていると報告します.これは、evalがスクリプトに直接書くとresponseをlabelとして解釈しようとするためです.
間違いを報告する原理は同じだ.
解決策は2つあります.
または
たとえば、次のコードがあります.
- function handle_success(response){
- var json = eval(response); // response = "{'foo' : 'bar'}";
- }
ブラウザはinvalid labelが間違っていると報告します.これは、evalがスクリプトに直接書くとresponseをlabelとして解釈しようとするためです.
- <script>
- {'foo' : 'bar'};
- </script>
間違いを報告する原理は同じだ.
解決策は2つあります.
- var json = eval('(' + response + ')'); // response = "{'foo' : 'bar'}";
-
または
- eval('var json = ' + response); // response = "{'foo' : 'bar'}";
- //json is available now
-