【问题标题】:how to specify dataType in XDR request?如何在 XDR 请求中指定 dataType?
【发布时间】:2013-04-04 21:23:32
【问题描述】:

我在 ie 中使用 XDR 进行跨域资源共享。它完美地工作。我需要知道如何在此指定返回数据类型。我需要将 json 作为 responseText。 这是我的代码,

        if (window.XDomainRequest&& $.browser.msie && $.browser.version < 10) {
        xdr = new XDomainRequest();
        if (xdr) {
            xdr.onload = function () {
                var customResponse = xdr.responseText;

                }
            };
            xdr.open("get", url);
            xdr.send();
        }

【问题讨论】:

    标签: javascript ajax internet-explorer cross-domain xdr


    【解决方案1】:

    试试这个

     xdr.onload = function () {
                   var data = $.parseJSON(xdr.responseText);
    
                    }
    

    【讨论】:

      【解决方案2】:

      不幸的是,XDR 不支持 setRequestHeader(MSDN 表明 XDR 的能力很差),所以你不能告诉服务器你想要带有 Accept 请求头的 JSON。但是您可以提供查询字符串参数来告诉服务器此信息 (url += "?format=json")。当然,服务器必须对这个参数做出反应,否则就没有意义了。如果您自己维护服务器,这将是一件容易的事。如果没有,请检查您的 API 文档是否允许您请求不同的内容类型。如果两个选项的答案都是否定的,您可能应该回退到 JSONp 而不是 XDR。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-18
        • 2013-01-11
        • 2015-02-02
        • 1970-01-01
        • 2011-11-20
        • 1970-01-01
        • 2013-04-04
        • 1970-01-01
        相关资源
        最近更新 更多