Reactjs 在React js中点击FetchAPI时,Get方法被转换为选项
我试图点击下面的api,并要求基本的身份验证用户名和密码和方法允许在这是唯一的得到Reactjs 在React js中点击FetchAPI时,Get方法被转换为选项,reactjs,Reactjs,我试图点击下面的api,并要求基本的身份验证用户名和密码和方法允许在这是唯一的得到 dispatch(requestBegin()); let apiPath = `xxxx/TEST/appservice/api/app/10/10000127201901`; return fetch(apiPath, { method: 'get', headers : { "contentType":"application/x-www-form-urlencoded", "
dispatch(requestBegin());
let apiPath = `xxxx/TEST/appservice/api/app/10/10000127201901`;
return fetch(apiPath, {
method: 'get',
headers : {
"contentType":"application/x-www-form-urlencoded",
"Authorization" : 'Basic '+btoa('xxx:xxx'),
},
})
.then((response) => {
dispatch(getEventsEnds(json));
})
.catch((error) => {
dispatch(getEventsEnds());
});
控制台中记录的错误:
对飞行前请求的响应未通过访问控制检查:否
“Access Control Allow Origin”标头出现在请求的服务器上
资源。因此,不允许使用源“”
通道响应的HTTP状态代码为405。如果一个不透明的响应
根据您的需要,将请求的模式设置为“无cors”以获取
已禁用CORS的资源
选项405(方法
(不允许)
当我试图点击get api时,有人能请eplain吗?为什么它会显示选项,这意味着您的api服务器不接受CORS请求或来自本地主机的请求 查看您的API文档,但我猜您将无法从web应用程序直接与它交互 最好的选择是使用代理,您可以自己开发一个代理,或者使用节点http代理之类的东西来代理API调用。(有php或python等价物) 代理服务器将能够发出请求,然后将它们转发到您的应用程序 建议进一步阅读:在谷歌上输入理解CORS,并阅读更多相关内容 有关本地发展,请查看:
当客户端api URL和服务器URL(包括端口号)不匹配时,会发生此问题。在这种情况下,您需要为CORS启用服务,这是跨源资源共享 使用npm安装cors
请参考此
[参考][1]
您在一个端口上为应用程序提供服务2200
,而您的API很可能在另一个端口上。@Henrikanderson那么解决方案是什么?react end有解决方案吗?我们可以使用这种api吗?如果没有,那么api端的解决方案是什么?我们有关于它的例子吗?请花时间阅读CORS,如果你想做前端开发,它是基础知识。你不能从前端做任何事情(反应或不反应)。如果在开发过程中需要使用API,请在本地计算机上使用代理(添加了链接)。当部署到生产环境时,请确保您的域已被API列入白名单