我试图用jQuery替换一个ajaxpro脚本,但是当使用ajaxpro或jQuery时,我从服务器得到的响应是我不认识的。
这是jquery调用:$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/ajaxpro/CMS.ItemRetrieve.ashx",
data: jsonData,
beforeSend: function(xhr) {
xhr.setRequestHeader("X-AjaxPro-Method", "ItemRetrieve");
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
},
success: function(responseText) {
console.log(responseText);
}
})
这是奇怪的反应:
[0,"rnrn<div id="content">test</div>rn "];/*
我期待HTML或XML的回报,但这似乎是一个数组?我不明白逃跑和奇怪的结局。我尝试将dataType设置为json,但它不是json,不是html,也许是javascript?服务器响应内容类型似乎被设置为文本。
所以我的问题是,我如何使用这个响应作为HTML,或将其转换为HTML?
在不指定dataType
的情况下,jQuery对它从AJAX调用接收回的数据格式进行最佳猜测。90%的情况下是正确的。其他时候,它需要一点帮助。
试试这个:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/ajaxpro/CMS.ItemRetrieve.ashx",
data: jsonData,
dataType: "html", // Explicitly set the return data type
...
});
更多信息在这里