2011-11-25 35 views
1

我试图替换使用jQuery的脚本AjaxPro的,但无论是使用还是AjaxPro的jQuery的时候,我从服务器获取我的反应奇怪的反应是什么我不承认。jQuery的阿贾克斯,从.NET服务器

这是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?

回答

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 
    ... 
}); 

More information here

+0

感谢您的答复,这是我想的第一件事。而且即时通讯仍然会回复相同的奇怪回应,并在响应头文件中获得相同的内容类型。 “Content-Type \t text/plain; charset = utf-8”。 –