我试图通过jquery调用$.ajax()
来调用跨域Web服务。服务返回
<?xml version="1.0" encoding="utf-8"?>
<double xmlns="http://www.webserviceX.NET/">1.4248</double>
如果我指定dataType xml(或者没有指定任何东西 - jquery正确猜测),我会收到XML Parsing Error: no element found Location: moz-nullprincipal:{4030734c-b902-4251-9067-1d1b5b15fc72} Line Number 1, Column 1:
错误(看起来没有任何东西从服务中回来)。但是,如果我指定dataType jsonp
或script
- 我可以在firebug中看到所有内容都正确返回;然而jquery显然试图评估结果并给我相应的错误(缺少分号或类似)。
jQuery中是否有一种方法可以启用跨域调用和来评估它?
注意:
答案 0 :(得分:8)
跨域ajax仅允许用于JSONP,而不是XML
在JQuery 1.5中,他们添加了crossDomain:true
参数,该参数只是将?callback=>
值附加到url
。如果设置该参数,则还必须设置dataType:'json'
。跨域URL还必须支持JSONP并提供您期望的数据。