jquery - 跨域Ajax调用找不到元素位置: moz-nullprincipal

标签 jquery cross-domain

我试图通过 jquery 调用来调用跨域 Web 服务 $.ajax() 服务返回

<?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第 1 列,第 1 列: 错误(看起来服务没有返回任何内容)。但是,如果我指定 dataType jsonpscript - 我可以在 firebug 中看到一切都正确返回;然而 jquery 显然试图评估结果并给出相应的错误(缺少分号或类似的错误)。

jQuery 中有没有一种方法可以启用跨域调用并且不对其进行评估?

注释:

  1. 知道后备选项是调用我的服务器上的一个程序,该程序将调用 Web 服务并将结果返回到浏览器;
  2. 确实指定了 crossDomain:true。似乎没有什么区别。
  3. “错误”函数确实被调用。但“data”包含“parseerror”,而不是原始值。

最佳答案

跨域ajax仅允许JSONP,不允许XML

在 JQuery 1.5 中,他们添加了 crossDomain:true 参数,该参数只是将 ?callback=> 值附加到 url 中。如果设置该参数,则还必须设置 dataType:'json'。跨域 URL 还必须支持 JSONP 并提供您期望的数据。

关于jquery - 跨域Ajax调用找不到元素位置: moz-nullprincipal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053995/

相关文章:

javascript - Access-Control-Allow-Origin 不允许来源

javascript - 使用 Javascript 与 SOAP API 对话

javascript - 如何隐藏或显示在 javascript 中使用数据表创建的表的列?

internet-explorer - IE9 阻止下载跨域网页字体

javascript - 使用 ul li 的二级菜单项不起作用

javascript - 如何在包括标点符号和特殊字符的范围内包装字母?

jquery - 对 WCF Restful 服务的 Json 调用 (jquery) 始终运行错误函数

javascript - 加载从跨文档消息传递中作为 event.data 获取的 pdf

php - 克隆输入字段时自动完成功能不起作用

javascript - 无法使用 jquery 更改悬停在 <a> 上的跨度