我正在尝试用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,"\r\n\r\n<div id=\"content\">test</div>\r\n "];/*
我期待HTML或XML作为回报,但这似乎是一个数组? 我不明白逃避和奇怪的结局。我尝试将dataType设置为json,但它不是json,不是html,也许是javascript?服务器响应内容类型似乎设置为文本。
所以我的问题是,我如何将此响应用作HTML,或将其转换为HTML?
答案 0 :(得分:1)
如果不指定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
...
});