这是我的代码
$.ajax( { type: "GET",url: 'http://devserver:7995/stdpart/services/GetAllPartsWithFilter',dataType: 'json',data: jsonPartsData,success: fnGetPartsData,error: PartsLoadError });
这是在IE8中运行良好的代码,但在Firefox和Chrome浏览器中失败了.当我检查XHR对象时,它说的是状态代码为0.我检查了所有其他问题,没有一个能帮我识别问题.
让我知道,如果我在这段代码中做错了什么.如果$.ajax有一些兼容性问题,那么请建议一些与之相当的东西.
更新:
我们找到了一个解决方案
http://www.xml.com/pub/a/2005/12/21/json-dynamic-script-tag.html
它使用Dynamic Scripting的概念.我们在我们的应用程序中做了同样的事情,然后现在每件事似乎都在工作.然而要充分分析.
解决方法
这是因为
Same origin policy.你不能使用ajax来调用外部站点.如果你真的想使用,你必须使用
JSONP.或者你可以使用服务器端代理.意味着,在服务器端调用外部站点并对该Web服务执行ajax调用.
更新:
在您的网站和web网络方法中创建webserve,并提供以下代码
string proxyURL = "http://devserver:7995/stdpart/services/GetAllPartsWithFilter"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(proxyURL); request.Method = "GET"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode.ToString().ToLower() == "ok") { Stream content = response.GetResponseStream(); StreamReader contentReader = new StreamReader(content); return contentReader.ReadToEnd(); } return string.Empty;
然后使用您的代码访问本地服务.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。