如何在XDR请求中指定dataType?

时间:2013-04-12 11:10:00

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

我正在使用XDR进行跨域资源共享。它完美地运作。我需要知道如何在此指定返回dataType。我需要将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();
        }

2 个答案:

答案 0 :(得分:1)

试试这个

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

                }

答案 1 :(得分:0)

不幸的是,XDR不支持setRequestHeader(MSDN显示XDR功能非常差),因此您无法告诉服务器您希望JSON具有Accept请求标头。但是您可以提供查询字符串参数来告诉服务器此信息(url += "?format=json")。当然,服务器必须对这个参数作出反应,否则就没有意义了。如果你自己维护服务器,这将是一件容易的事。如果没有,请检查您的API文档是否允许您请求不同的内容类型。如果两个选项的答案都是“否”,那么您可能应该回退到JSONp而不是XDR。