【发布时间】:2013-07-03 16:14:50
【问题描述】:
我现在有两个网站。一个有令牌,一个应该允许用户使用令牌做事。 当我访问具有令牌的第一个站点时,mySite.local/services/session/token 它显示它:OTV4Gu9VQfjIo2ioQ0thajdEJ6nEINoxsLuwgT_6S0w
当我在应该获取此令牌的页面上时,我得到一个空响应并抛出 ajax 函数的错误。
奇怪的是,在使用 firebug 调查问题时,我可以看到 ajax 请求的响应是 43B - 与令牌大小相同。因此,由于某种原因,带有令牌的页面被正确点击,但没有响应。
这是萤火虫响应的屏幕截图:
这里是带有 ajax 请求的 JQuery:
var nid; //global node id variable
$('html').click(function(){
try {
$.ajax({
url:"http://mySite.local/services/session/token",
type:"get",
dataType:"text",
error:function (jqXHR, textStatus, errorThrown) {
alert('error thrown - ' + errorThrown);
console.log(JSON.stringify(jqXHR));
console.log(JSON.stringify(textStatus));
console.log(JSON.stringify(errorThrown));
},
success: function (token) {
//Do some stuff now that token is received
}
});
}
catch (error) {
alert("page_dashboard - " + error);
}
});
【问题讨论】:
-
我知道它说IP地址是127.0.0.1,但是你是从同一个域名
mysite.local访问的吗? -
不,托管令牌的是 mysite.local,另一个是 mysitemobile.local
-
然后你遇到了 AJAX 的跨域限制(又名Same Origin Policy)。如果不使用 CORS 将域列入白名单或JSONP,则无法向另一个域发出 AJAX 请求。
-
您能否将其发布为答案,以便我将问题标记为已解决?