我正在使用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();
}
答案 0 :(得分:1)
试试这个
xdr.onload = function () {
var data = $.parseJSON(xdr.responseText);
}
答案 1 :(得分:0)
不幸的是,XDR不支持setRequestHeader(MSDN显示XDR功能非常差),因此您无法告诉服务器您希望JSON具有Accept
请求标头。但是您可以提供查询字符串参数来告诉服务器此信息(url += "?format=json"
)。当然,服务器必须对这个参数作出反应,否则就没有意义了。如果你自己维护服务器,这将是一件容易的事。如果没有,请检查您的API文档是否允许您请求不同的内容类型。如果两个选项的答案都是“否”,那么您可能应该回退到JSONp而不是XDR。