我有一个网站,是使用代码点火器MVC构建的,但我试图根据现代趋势创建一个基于react的前端。我仍然希望使用原始的代码点火器框架和控制器,但我希望它返回普通的JSON,而不是渲染视图。目前,我无法将运行在localhost:3000上调试模式的react应用程序的请求发送给运行在apache http://mywebsite:80上的代码点火器api。
我就是这样提出请求的:
fetch("http://mywebsite/Api" + route + '/', {
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: "POST",
redirect: 'follow',
body: JSON.stringify(data),
dataType : 'json'
})这是我在控制台中遇到的错误:
未能加载http://mywebsite/ApiAuth/login/:对飞行前的响应无效(重定向)
我的php页面发送以下内容:
header('Content-Type: application/json;charset=UTF-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: DELETE, HEAD, GET, OPTIONS, POST, PUT');
header('Access-Control-Allow-Headers: Content-Type, Content-Range, Content-Disposition, Content-Description');
header('Access-Control-Max-Age: 1728000');控制台输出:
Request URL: http://mywebsite/ApiAuth/login/
Request Method: OPTIONS
Status Code: 302 Found
Remote Address: [::1]:80
Referrer Policy: no-referrer-when-downgrade发布于 2018-12-28 01:04:02
通过设置Apache响应头和重定向方法,可以解决此问题,如下所示:
#Redirect for CORS Preflight request
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
#Set headers to access CORS Requests / allowing localhost only
Header always add Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header always add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"https://stackoverflow.com/questions/53938755
复制相似问题