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

时间:2016-08-29 17:45:03

标签: javascript facebook oauth xmlhttprequest cors

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

所以这是一个简单的原理图:

enter image description here

为什么xhr会被浏览器访问的同一网址阻止?

1 个答案:

答案 0 :(得分:4)

  

为什么xhr会被浏览器访问的同一网址阻止?

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

Facebook不允许通过来自不同域的脚本加载其登录对话框 - 显而易见的原因是用户需要能够通过浏览器地址栏验证他们向哪个站点发送登录凭据,以避免网络钓鱼

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