加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

$.ajax调用在IE8中工作正常,在Firefox和Chrome浏览器中不起作用

发布时间:2020-12-16 02:54:19 所属栏目:百科 来源:网络整理
导读:这是我的代码 $.ajax({ type: "GET",url: 'http://devserver:7995/stdpart/services/GetAllPartsWithFilter',dataType: 'json',data: jsonPartsData,success: fnGetPartsData,error: PartsLoadError }); 这是在IE8中运行良好的代码,但在Firefox和Chrome浏览
这是我的代码

$.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 Sc??ripting的概念.我们在我们的应用程序中做了同样的事情,然后现在每件事似乎都在工作.然而要充分分析.

解决方法

这是因为 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;

然后使用您的代码访问本地服务.

for more information please refer this link

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读