jQuery Ajax,来自.net服务器的奇怪响应



我试图用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
    ...
});

更多信息在这里

相关内容

  • 没有找到相关文章

最新更新