Laravel版本:5.6
PHP版本:7.1
我完成了我的项目并在本地进行了测试。但是当我将它上传到共享主机网站时,我收到两个错误(我不确定它们是否是两个单独的错误):
删除http://SomeAddress/patients/440627036 403(禁止)
无法加载http://SomeAddress/patients/440627036:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许原点“http://SomeAddress”访问。响应的HTTP状态代码为403。
我认为我修正了CORS问题。我只收到 PUT 和 DELETE 的CORS错误(我不知道为什么POST和GET正在运行!)。我添加了所需的标题,这个错误就消失了。这些是我添加的标题:
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With')
->header('Access-Control-Allow-Credentials', 'true')
->header('Access-Control-Max-Age', '10000');
但是现在我又收到了另一个错误(只有 PUT 和 DELETE ) - (它与Laravel或我的共享主机网站或我的后端代码有关吗?) :
禁止
您无权访问此服务器上的/ patients / 440627035。
我的CORS问题是否已完全解决?我该如何解决这些错误?
前端(我使用AngularJS $资源发送我的HTTP请求):
this.patientRes = function () {
return $resource(baseURL + 'patients/:id', {id: "@id"}, {
get: {
method: 'GET',
isArray: true,
headers: {'Content-Type': 'application/json'}
},
update: {
method: 'PUT',
headers: {'Content-Type': 'application/json'}
},
delete: {
method: 'DELETE',
headers: {'Content-Type': 'application/json'}
}
})
};
更新
我的文件结构是这样的:
public_html / public /和我的文件在这里
我将其更改为:
public_html /我的文件现在在这里