【问题标题】:Ionic 3 + laravel. issue with http request on server离子 3 + laravel。服务器上的http请求问题
【发布时间】:2018-05-29 16:22:43
【问题描述】:

我正在开发一个使用 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; 
   });
  }

【问题讨论】:

  • 请尝试在 allowedMethods 数组中添加 options 方法,然后再试一次希望它会起作用

标签: laravel post ionic-framework


【解决方案1】:

您需要在 CORS 规则中允许 OPTIONS 方法。

'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedOriginsPatterns' => [],
'allowedHeaders' => ['*'],
'allowedMethods' => ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
'exposedHeaders' => [],
'maxAge' => 0,

【讨论】:

    猜你喜欢
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2014-09-02
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多