我试图向另一个域发出 ajax 请求,它已经工作了,但现在我遇到了另一个问题......
这是我的代码:
function getChannelMessages(channel) {
jQuery.support.cors = true;
$.ajax(channel, {
cache : true,
type : "get",
data : _channels[channel].request,
global : false,
dataType : "jsonp text xml",
jsonp : false,
success : function jsonpCallback (response) {
console.log(response);
updateChannelRequest(channel);
//getChannelMessages(channel);
}
});
}
正如我所说,它已经工作了,但问题是服务器返回一个 XML(不是我的服务器,是另一家公司的另一台服务器 - 一个 Web 服务 - 所以我无法更改它返回的内容)并且 jsonp 期望它是一个 json失败并出现错误:
SyntaxError: syntax error
<?xml version="1.0"?><ReceiveMessageResponse xmlns="http://q ... />
根据 jQuery 文档,添加jsonp text xml
应该很神奇,将响应转换为简单文本,然后将其解析为 XML,但它不起作用。
我已经能够使用 YQL 实现它,但它的限制为每小时 10,000 个请求,而我正在开发的系统每小时将有多达 1000 万个请求。出于同样的原因,我不能在我自己的服务器中“代理”这些请求......
仅供参考:我正在尝试从 SQS 获取最新消息,所以如果无论如何告诉它以 json 格式返回数据,它会更容易更好,但我在文档中也没有找到任何东西......