$ .get in Jquery问题

时间:2010-07-29 06:36:44

标签: jquery

我正在尝试使用$ .get进行ajax(restful service)调用。 它在IE中完美运行,但在firefox的情况下提供'401未授权'。

起初我认为这是'NTLM身份验证'问题,并尝试添加域名(宁静服务 - 例如:http://mydomain.com in about:config - > network.automatic-ntlm-auth.trusted-uris)但没有成功。

我确定这不是ntlm问题,因为在firefox浏览器中输入相同的url(restful service)会给我数据,但是通过$ .get给出401未授权。

有没有人知道这里可能出现什么问题。

由于

更新

我只是弄清楚,这是由于sAc提到的'跨域'问题。我还有一个疑问w.r.t JSONP,我正在使用的服务不支持url中的其他参数。但如果我要使用JSONP回调,我要添加“callback =?”到网址。有什么方法可以实现这一点。

2 个答案:

答案 0 :(得分:1)

来自你的评论:

  

如果我的服务器在abc.xyz.domain.com上,   我正在尝试从中访问数据   efg.xyz.domain.com。我也尝试过这个   关闭服务器,但同样的错误

abc.xyz.domain.comefg.xyz.domain.com是不同的域名:

查看Same Origin Policy

  

在计算中,相同的原始政策   是一个重要的安全概念   浏览器端编程的数量   语言,例如JavaScript。该   策略允许运行脚本   来自同一网站的网页   访问彼此的方法和   属性没有具体   限制,但阻止访问   大多数方法和属性   不同网站上的网页。

您可能需要查看JSONP来解决问题。

答案 1 :(得分:1)

你能尝试一下,它对我有用(跨域):

jQuery.ajax({     async:true,//跨域请求不支持同步操作。     crossDomain:true,dataType:'jsonp',     成功:onSuccess,     error:onError,//不应该为跨域脚本调用此处理程序。     url:“https://my.other.domain/test/login.py?callback =?” });

此致 米歇尔。