我的問題是當我使用jQuery ajax get,我在響應身體獲取數據,但它不會傳遞到成功函數。我怎樣才能使它工作?jQuery Ajax獲取不會傳遞接收數據到Internet Explorer的成功函數
我想提出一個ajax放,但它並沒有在IE9工作(適用於其他瀏覽器),所以我改成了這樣只是爲了測試:
$.ajax({
async : false,
type: 'PUT',
contentType: 'application/json',
url:updateUrl + "?_" + new Date().getTime(),
data: JSON.stringify(model),
cache: false,
dataType: "json",
dataFilter: function(data) {
var resp = eval('(' + data + ')');
return resp;
},
success: function(data, status, xhr) {
alert("success> " + data.property);
alert(typeof data);
r = resultResponse(data);
},
error: function(data, status, xhr) {
alert("error> " + data.responseText);
try {
r = error($.parseJSON(data.responseText));
} catch (err) {
//Handle error
}
}
});
數據警報爲未定義。我把數據發送正確,我的服務器端運行良好,併發送響應客戶端,但我得到的未定義,而不是數據。經過一些測試,我意識到這個問題:
當我捕捉網絡通信數據包在ie 9響應正文是我想要的。但是,成功功能無法處理它。如果需要,我可以提供更多關於我的服務器的信息(當我將數據寫入響應而不是在Java中使用jackson json mapper時,我可以使它工作 - 它正在工作,唯一的區別是沒有包含響應中的工作版本頭文件: 鍵值 內容類型的應用程序/ JSON;字符集= UTF8)
我認爲,問題可以在客戶端處理,我認爲不與服務器端。 任何想法?
編輯:我想,樣式:
$.ajax({url: "/url",
dataType: "text",
success: function(text) {
json = eval("(" + text + ")");
// do something with JSON
}
});
然而響應頭仍然:
密鑰值 內容類型的應用/ JSON;字符集= UTF8
你不小心在你的問題題目中動詞。 – 2012-08-01 19:15:09
我改變了標題。 – kamaci 2012-08-01 19:26:25