使用jQuery.ajax&尝试获取xml服务器响应时出错JSONP

时间:2013-06-19 08:47:52

标签: ajax jquery jsonp content-type

我正在尝试使用jsonp激活jQuery.ajax()请求,我收到以下错误:

  

资源解释为脚本,但使用MIME类型text / xml

进行传输

我的要求是:

return $.ajax({
        type: 'GET',
        url: this.AgentServiceUrl + "/" + methodName,
        async: false,
        jsonpCallback: 'jsonCallback',
        contentType: "text/xml",
        dataType: 'jsonp', 
        success: function (json) {
            console.dir(json.sites);
        },
        error: function (e) {
            console.log(e.message);
        }
    });

我从服务器获得的响应是​​:

HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Content-Length: 114
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 19 Jun 2013 08:43:13 GMT

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://CosmoCom.com/WebServices/TCWS/Agent">010001</string>

我该怎么办?

1 个答案:

答案 0 :(得分:0)

正如错误消息所说,当您将数据类型标记为jsonp时。这意味着您将收到的数据将是脚本。所以你不能把你的contenttype作为“text / xml”。 尝试将其更改为“application / json”

还要确保您的服务启用了jsonp ,这意味着它会返回回调函数中包含的数据。