1

我正在尝试从跨域源读取 XML,并且无法将回调响应转换为字符串。如果我在 chrome 中查看控制台,我会得到“资源解释为脚本,但使用 MIME 类型文本/xml 传输: http://mysite.com:2000/g7?callback=jQuery17209426668137311935_1344441190139&_= 1344441194148

然后是“未捕获的语法错误:意外的令牌 <”

我在这里想念什么?

$.ajax({ type: 'GET', url: 'http://mysite.com:2000/g7', dataType: 'jsonp', mimeType: 'text/xml' });

4

1 回答 1

2

我在这里想念什么?

JSONP 推断包含在回调中的 JSON 响应的事实。这不适用于 XML。因此,您必须修改远程服务器端脚本,使其返回 JSONP,而不是 XML。例如,响应可能如下所示:

callback({ xml: '<node>foo bar</node>' });

但是如果远程服务器直接发送 XML,由于同源策略限制,您不能使用 AJAX 调用它。

于 2012-08-08T17:20:13.130 回答