Facebook xhr登录:跨域请求被阻止

php*_*_qq 0 javascript facebook oauth xmlhttprequest cors

我有这个问题,当我尝试使用XHR通过Facebook登录我的网站上的用户时,我的请求被阻止了,但是,如果我复制XHR请求的URL并将其粘贴到浏览器中,就可以登录。

因此,这是一个简单的示意图:

在此处输入图片说明

为什么XHR被阻止在浏览器可以访问的相同URL上?

CBr*_*roe 6

为什么XHR被阻止在浏览器可以访问的相同URL上?

因为这是一个跨域请求,因此,远程方必须首先允许该请求,这就是所谓的CORS。

Facebook不允许通过来自不同域的脚本加载其登录对话框–显而易见的原因是,用户需要能够通过浏览器地址栏确认将登录凭据发送到哪个站点,以防止网络钓鱼。

不能在后台通过XHR / AJAX加载FB登录对话框。您需要在顶部窗口实例中调用/重定向到它。