Javascript 用“原点”阻止帧;http://localhost:63830" 从访问交叉原点帧开始
从我的应用程序中,我正在弹出窗口中打开一个窗口,稍后我会通过下面的代码定期查看该新打开窗口的当前url,但它给出了下面的错误,阻止了带有原点“”的帧访问跨原点帧。如何解决这个问题Javascript 用“原点”阻止帧;http://localhost:63830" 从访问交叉原点帧开始,javascript,jquery,Javascript,Jquery,从我的应用程序中,我正在弹出窗口中打开一个窗口,稍后我会通过下面的代码定期查看该新打开窗口的当前url,但它给出了下面的错误,阻止了带有原点“”的帧访问跨原点帧。如何解决这个问题 var _url = "https://us.lightspeedapp.com/oauth/authorize.php?response_type=code&client_id=8f2a3974b288e34327ad5564b2f7c0c5f7e28103893479b1e53a957b5
var _url =
"https://us.lightspeedapp.com/oauth/authorize.php?response_type=code&client_id=8f2a3974b288e34327ad5564b2f7c0c5f7e28103893479b1e53a957b5de2e0ff&scope=employee:all";
var loggedIn = false;
var win = window.open(_url, "windowname1", 'width=800, height=600');
var pollTimer = window.setInterval(function () {
try {
debugger;
console.log(win.document.URL);
if (win.document.URL.indexOf(REDIRECT) != -1) {
window.clearInterval(pollTimer);
var url = win.document.URL;
win.close();
}
} catch (e) {
}
}, 500);
e.preventDefault();
}
您会收到此错误消息,因为提供HTML文件的服务器位于与您尝试调用的AJAX url不同的域下 处理这个问题有多种方法 了解更多关于CORS的信息 我不知道您在该服务器上使用的是哪种编程语言us.lightspeedapp.com,但正如您所写,您正在计算机上本地开发一个运行的Web服务器,该服务器为您的HTML文件提供服务 您需要在us.lightspeedapp.com的响应中添加HTTP头文件 在执行实际的POST、GET或其他调用之前,执行跨源AJAX调用的访问者浏览器会执行一个选项HTTP调用 此选项调用告诉浏览器服务器是否可以接受该来源的请求 请求->响应可能是这样的(取决于您的需要) 请求标题(访客浏览器) 响应标题(Web服务器) 重要强> 访问控制允许源站标头也需要协议(http、https)匹配!您还可以在该服务器上拥有源站的白名单,并将请求源站标头与该白名单进行比较,如果找到,则将条目添加到响应标头,或者使用401 Not allowed进行应答 享受发展的乐趣强>
OPTIONS /oauth/authorize.php
Access-Control-Request-Method: POST
Access-Control-Request-Headers: origin, x-requested-with
Origin: http://localhost:63830
HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Origin: http://localhost
Access-Control-Allow-Methods: POST, PUT, GET, OPTIONS, DELETE
Access-Control-Allow-Headers: x-myapikey, x-userid
Access-Control-Max-Age: 86400