【发布时间】:2018-01-06 10:51:15
【问题描述】:
我在尝试使用 axios 在 reactjs 应用程序中调用 ajax 时遇到很多错误。我有一个api,它位于子域并从主域进行调用。
.htaccess:
Header add Access-Control-Allow-Origin: "*"
Header add Access-Control-Allow-Credentials: "true"
Header add Access-Control-Allow-Methods: "GET,HEAD,OPTIONS,POST,PUT"
Header add Access-Control-Allow-Headers: "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers"
reactjs 中的 ajax 标头(使用 axios):
var options = {
method: 'GET',
url: 'http://admin.mysite.com/menus/5',
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET,HEAD,OPTIONS,POST,PUT',
'Access-Control-Allow-Headers': 'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers'
}
}
我已尝试对其中的每一项进行更改,但出现不同的错误。如果我有Header add Access-Control-Allow-Origin: "*",它会抱怨双重来源。如果我删除它,我会收到关于 Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response 的错误消息,其他更改已回复 Access-Control-Allow-Headers is not allowed by Access-Control-Allow-Headers in preflight response
我将 wordpress 用作无头 CMS,并利用 restful api 来提取我需要的数据。我注意到如果我删除了所有这些,我可以get 我的数据很好,但我不能post 不解决跨域问题。
【问题讨论】:
-
尝试将标题
'Access-Control-Allow-Origin': '*',修改为'Access-Control-Allow-Origin': 'http://admin.mysite.com',
标签: .htaccess reactjs cors react-router axios