Angular 4:使用 ionic 3 angular 4 Post 上的 CORS 问题
Angular 4: CORS Issue on Post using ionic 3 angular 4
我非常感谢社区提供的指导。因此,我想问一个问题,请注意,我已经用尽了所有资源 Google 来找出问题的解决方案:
Front-End: 使用ionic3 angular 4
Back-End:使用Laravel 5.4
目前我们已经尝试过的:
前端:
已安装cordova白名单插件
在 config.xml
中添加了代理 Url
后端:
- 为 Laravel
添加了白名单和 header
问题:
XMLHttpRequest cannot load
http://52.76.26.109/beacon/public/api/phonebook/create. Response to
preflight request doesn't pass access control check: No
'Access-Control-Allow-Origin' header is present on the requested
resource. Origin 'http://localhost:8100' is therefore not allowed
access.
任何宝贵的意见将不胜感激。谢谢
补充:我忘了提及通过 http 的 GET 请求有效,而 POST 无效。
您只会从浏览器中收到此错误。使用浏览器时 Cordova 插件被禁用,因此在浏览器上测试时白名单插件将被禁用。当您进行构建并将其安装在您的手机上时,它将开始工作。如果您想从浏览器测试 API。您应该安装 CORS plugin 并启用它。然后,您的 http 请求将通过。您不需要使用 JSONP 请求。您可以只使用普通的 http 请求
您的问题是由 CORS 引起的。
简单的解决方案是在您的 Laravel 项目中添加 CORS(Cross-Origin 资源共享)headers 支持。
我建议你使用这个包:laravel-cors
如果您已经为您添加了 header laravel project.Then,您应该仔细检查那些 header 并确保添加了 header。
如果您添加正确,响应 header 应该有一个项目
Access-Control-Allow-Origin:*
我非常感谢社区提供的指导。因此,我想问一个问题,请注意,我已经用尽了所有资源 Google 来找出问题的解决方案:
Front-End: 使用ionic3 angular 4
Back-End:使用Laravel 5.4
目前我们已经尝试过的:
前端:
已安装cordova白名单插件
在 config.xml
中添加了代理 Url
后端:
- 为 Laravel 添加了白名单和 header
问题:
XMLHttpRequest cannot load
http://52.76.26.109/beacon/public/api/phonebook/create. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access.
任何宝贵的意见将不胜感激。谢谢
补充:我忘了提及通过 http 的 GET 请求有效,而 POST 无效。
您只会从浏览器中收到此错误。使用浏览器时 Cordova 插件被禁用,因此在浏览器上测试时白名单插件将被禁用。当您进行构建并将其安装在您的手机上时,它将开始工作。如果您想从浏览器测试 API。您应该安装 CORS plugin 并启用它。然后,您的 http 请求将通过。您不需要使用 JSONP 请求。您可以只使用普通的 http 请求
您的问题是由 CORS 引起的。
简单的解决方案是在您的 Laravel 项目中添加 CORS(Cross-Origin 资源共享)headers 支持。
我建议你使用这个包:laravel-cors
如果您已经为您添加了 header laravel project.Then,您应该仔细检查那些 header 并确保添加了 header。
如果您添加正确,响应 header 应该有一个项目
Access-Control-Allow-Origin:*