laravel - 离子 3 + laravel。服务器上的http请求问题
问题描述
我正在开发一个以 Ionic 3 和 Laravel 作为后端的混合应用程序。我不得不在在线服务器 (000webhost) 上托管后端来进行一些应用内测试,这就是我遇到问题的时候。在托管之前,使用我的计算机作为服务器 (localhost),我能够通过 Ionic 提供程序发出任何类型的请求。使用虚拟主机托管,我只能发出 GET 请求,任何其他类型的请求都会给我MethodNotAllowedHttpException
错误。尝试使用邮递员发出相同类型的请求,它已成功处理。
我的配置文件 cors.php 如下:
<?php
return [
/*
|--------------------------------------------------------------------------
| Laravel CORS
|--------------------------------------------------------------------------
|
| allowedOrigins, allowedHeaders and allowedMethods can be set to array('*')
| to accept any value.
|
*/
'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedOriginsPatterns' => [],
'allowedHeaders' => ['*'],
'allowedMethods' => ['GET', 'POST', 'PUT', 'DELETE'],
'exposedHeaders' => [],
'maxAge' => 0,
];
我试图访问的路线:
Route::post ('ajudado/', 'AjudadoController@set_ajudado');
Ionic 中的提供者方法:
set_ajudado(dados):Promise<any>
{
return this.http.post(this.url, dados).toPromise().then(function(data){
return data;
});
}
解决方案
您需要OPTIONS
在 CORS 规则中允许该方法。
'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedOriginsPatterns' => [],
'allowedHeaders' => ['*'],
'allowedMethods' => ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
'exposedHeaders' => [],
'maxAge' => 0,
推荐阅读
- angular - 如何从 Angular2 中的 XHR 标头获取日期?
- laravel - 无法使用vue axios在数据表中显示数据
- android - 如何将用户重定向到定义的 Play 商店实验变体?
- java - 向警报对话框添加圆角
- r - 在 R 闪亮的 ggplot2 中准备一个空数据库
- android - Android Studio Wifi-Ap 设置出现错误:App not allowed to read or update stored WiFi Ap config
- c# - 如何让敌人在网格中跟随路径
- javascript - 计算一个月的最后 X 天,然后增加月份
- scala - 如何在运行时将类型传递给多态函数scala
- android - 如何修复清单合并失败并出现多个错误?