我在javascript中使用Reactjs和通过AJAX使用API。我们如何解决这个问题?以前我使用CORS工具,但现在我需要启用CORS。
如何克服 ReactJS 中的 CORS 问题中可能重复的问题
CORS的工作原理是添加新的HTTP头,允许服务器描述允许使用web浏览器读取该信息的源集。这必须在服务器中配置以允许跨域。
您可以通过名为CORS的chrome插件临时解决此问题。
最好在服务器端添加启用CORS的代码。要在基于NodeJS和ExpressJs的应用程序中启用CORS,应包含以下代码-
var app = express();
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
在React中有6种方法可以做到这一点,
1、2和3号是最好的:
服务器端的1-config CORS
手动使用 2 组标头,如下所示:
resonse_object.header("Access-Control-Allow-Origin", "*");
resonse_object.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
3-配置NGINX用于proxy_pass,这里解释。
4-绕过带有chrom扩展的跨域策略(仅用于开发,不推荐!
5-使用URL bellow绕过跨来源政策(仅用于开发)
"https://cors-anywhere.herokuapp.com/{type_your_url_here}"
package.json
文件中的 6-use 代理
:(仅用于开发)
如果这是你的API:超文本传输协议://45.456.200.5:7000/api/profile/
将此部件添加到包中。json
文件:“代理”:http://45.456.200.5:7000/“,
然后使用api的下一部分提出您的请求:
React.useEffect(() => {
axios
.get('api/profile/')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
});
问题内容: 我有从本地主机运行的webapp(由于调试),它发出了跨域AJAX请求。我可以轻松地为Chrome设置标志“ –disable-web- security”,并且webapp可以在Chrome中按预期工作。但是我也需要在Windows上的Safari中执行此操作。是否有一些类似的标志,或者可以在“首选项”中的某个位置进行设置? 感谢帮助。 问题答案: 解决方案是在服务器上设置标头。 在
我有一个以下格式的请求URL 我换了卡塔琳娜。属性与此问题一致。 但是根据tomcat留档tomcat.util.http.parser.HttpParser.requestTarget允许属性不建议使用,并将其与Connector标记一起使用。 但是,当我将xml文件更改为下面的 我对这个角色的要求仍然很差^ 我不确定这是否是正确的配置。
我有两个域名。 我尝试使用JavaScript标记,在用户对域2进行一些操作之后,使用一切正常,但在最后一步,我得到了跨原点错误。 如何在PHP中允许访问域1上的跨源? 编辑 我的问题不是这个问题的可能重复,因为我问的是PHP。 解决方案 只需在打开PHP标签后的代码开头添加,这将允许从任何来源(网站)进行访问。 如果要限制访问,请将替换为源站(网站)url,如
从终端创建myDSL语法 起点,包含行列表 每一行都可以选择以LABEL开始,然后以关键字开始 这个语法适用于单引号中有空格的字符串。但是它有很多错误/警告 警告(200):/组织。xtext。实例mydsl/src gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl。g:309:3:决策可以使用多个选项匹配输入,例如“R
我试图从JS/Ajax向我的WebAPI发出请求时遇到了问题。在我的解决方案中,我有一个发布在srv02:2400上的Web API,我的网站发布在srv02:2300上 当我导航到页面时http://srv02:2300/all-请求。aspx,页面加载正常,除了应该来自我的API的数据 我得到了一个错误: 但是,如果我把url超文本传输协议://srv02:2400/api/请求/查找/1粘贴