2

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>

私に何ができる?

4

1 に答える 1

0

エラーメッセージが正しく言うように、データ型をjsonpとしてマークすると. これは、受け取るデータがスクリプトになることを意味します。そのため、コンテンツタイプを「text/xml」にすることはできません。"application/json"に変更してみてください。

また、サービスが jsonp enabledであることを確認してください。つまり、コールバック関数にラップされたデータを返します。

于 2013-11-05T09:51:19.487 に答える