需要使用来自不同域的 javascript 发出获取请求

问题描述

您好,我正在尝试发出一个 get 请求来获取一个 json 文件,然后对其进行编辑。正确率。我想知道是否有任何方法可以重定向到主机域,然后从那里发出请求以规避该问题。我知道从域本身托管我的页面会更容易,但不幸的是,这不是一种选择。

function(){
   con = new XMLHttpRequest(); 
   con.open(url,false);
   con.send(); 
   const qjson = con.responseText(); 
   return qjson 
}

由于域差异 - 来源 - http://localhost:port 和目标 - https://differentdomain.com

我想首先导航到目标域,然后从那里发出请求。 欢迎提出任何建议。

附言- 我正在考虑为此目的制作自己的 cors 代理服务器,只是想确保我在此之前探索了所有替代方案。

解决方法

我想知道是否有任何方法可以重定向到主机域,然后从那里发出请求来规避该问题。

没有

JavaScript 在它所在的页面中运行。如果你离开一个页面,JS 运行的执行环境就会消失,程序会停止。

虽然可以跨窗口和框架访问以传递数据和调用其他页面上的函数,但同源策略会阻止您跨不同域这样做。

如果攻击者可以让您的浏览器导航到您的网上银行网站,然后运行攻击者创建的 JS,那将是一场安全噩梦。