【问题标题】:Resource interpreted as script but transferred with MIME type application/json. & parsererror资源解释为脚本,但使用 MIME 类型 application/json 传输。 & 解析器错误
【发布时间】:2011-06-24 14:31:31
【问题描述】:

好的,我在桌面上的 .html 文件中有一个 JQuery AJAX 调用。它调用位于以太网中的 Web 服务器上的 WCF 服务。

好消息是它有效。 Sorta..几乎..但不完全。

AJAX 调用将执行,Fiddler 显示来自网络服务的 JSON 响应。不幸的是,它并没有回到浏览器。 callback=? 在那里,所以我没有收到跨站点脚本错误。 (访问控制等等等等)

如果我使用 Chrome 的开发工具打开它,它会给我以下消息:

Resource interpreted as script but transferred with MIME type application/json

success:callback 没有被调用,error:callback 在 statusText 中返回一个单词:parsererror

我整天都在努力解决这个问题。

function AJAXGet() {
    $.ajax({
        url: "http://xxxx/yyyyService/yyyyService.svc/GetZZZ?callback=?",
        dataType: 'json',
        data: JSON.stringify('{"customerID": "1"}'),
        contentType: "application/json; charset=utf-8; application/x-javascript",
        success: function (data) {
            alert(data);
        },
        complete: function (data) {
            alert(data);
        },
        error: function (xhr) {
            alert("AJAXGetError: " + xhr.statusText);
        }
    });
}

Fiddler 说这是发送的内容: GET /yyyyService/yyyyService.svc/GetZZZ?callback=jQuery150833801421286173_1297309350515&%22{\%22yyyyID\%22:%20\%221\%22}%22&_=1297309350540 HTTP/1.

这是 WCF:

[OperationContract]
[WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
List<Note> GetNotes(string yyyyID)

【问题讨论】:

    标签: c# jquery wcf


    【解决方案1】:

    您正在使用 JSONP - 您的服务器端代码必须支持它。在这种情况下,您的 WCF 服务应该返回一个 script-let,例如 [callback name]([json string]) 其中 [callback name] 将是 jquery 生成的 js 函数(您在提琴手请求中看到的回调值)和 [json string] 将来自服务的常用 JSON 数据。所以检查提琴手的响应。如果您的服务没有返回 JSONP 响应,那么您需要在服务端添加该支持。

    查看this 文章了解如何在 .NET 4(支持 JSONP)中执行此操作。对于 .NET 3.5,它的工作更多 - 请参阅 this MSDN article 以扩展 WCF 以支持 JSONP。另一个快速技巧(对于 .NET 3.5)可能是构建 HttpModule 来监视 JSON 请求并在请求 url 具有 callback 参数时修改响应。

    【讨论】:

      猜你喜欢
      • 2011-12-04
      • 2017-03-19
      • 2017-07-10
      • 1970-01-01
      • 2011-07-11
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多