我正在使用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();
        }

最佳答案

不幸的是,XDR不支持setRequestHeader(MSDN显示XDR的功能确实很差),因此您无法通过Accept请求标头告诉服务器您想要JSON。但是您可以提供查询字符串参数,该参数将告诉服务器此信息(url += "?format=json")。当然,服务器必须对此参数做出反应,否则将毫无意义。如果您自己维护服务器,这将很容易。如果不是,请检查您的API文档是否允许您请求其他内容类型。如果两个选项的答案均为否,则您可能应该回退到JSONp而不是XDR。

07-22 16:11