私のajax応答で解析不能なクラフトを使用しています。
エラーをスローするIE7を除いて、うまく機能します。失敗の理由について何か考えはありますか?
ajax 呼び出し:
$.ajax({
type: "POST",
url: "js/zipcodeLookup.json", //mock json response
contentType: "application/json",
dataType:"text json",
data: "{postalcode: '" + $(myField).val() + "', country: '" + myCountry + "'}",
success: function(data) {
//do something here
},
error: function(){
alert('failure');
}
});
ajax コンバーター:
$.ajaxSetup({
converters: { "text json": function (stringData) {
return JSON.parse(stringData.replace('for(;;);', ''));
} }
});
およびjson:
for(;;);{
"isError": "false",
"city": "Springfield",
"juris": "IL"
}
編集
正解は、愚かにも解析メソッドを見落としていたことjQuery.parseJSON()
です。代わりに使用してください。