【问题标题】:laravel receiving GET instead of POSTlaravel 接收 GET 而不是 POST
【发布时间】:2015-09-08 23:59:53
【问题描述】:

我有这条路线

 Route::post('exclusive-zone', 'SiteController@postExclusiveZone');

它从来自不同域中的另一个应用程序的重定向 URL 获取 POST 请求。(考虑在付款后重定向贝宝)。但我得到了一个

 MethodNotAllowedHttpException in RouteCollection.php line 201: 

尝试将其更改为

 Route::get('exclusive-zone', 'SiteController@postExclusiveZone');

返回成功,但当然,我无法检索 POST 编辑的数据。

我也尝试过使用普通的 PHP,

 <?php
 echo $_POST['data'];
 ?>

显示“数据”,因此重定向发送一个 POST。谁能解释一下?

更新:

试过了

Route::any('exclusive-zone', 'SiteController@postExclusiveZone');

这就是我使用 Log::info($request) 得到的结果

 [2015-09-08 13:43:52] local.INFO: GET /exclusive-zone HTTP/1.1

【问题讨论】:

  • 不要在您的路线名称中包含任何破折号。我认为这可能是个问题,请尝试更改您的路线名称
  • @Sid 我可以重新路由它们吗?因为该 URL 来自我无法控制的另一台服务器。
  • 你的意思是你不能改变你的路线名称?
  • 是的。该“路线”是由第 3 方提供的。

标签: php laravel-5


【解决方案1】:

我认为重定向不是发送发布请求,而是使用 GET 请求发布数据

Sending POST data with GET request valid?

【讨论】:

  • 如果服务器通过 GET 发布数据,$_POST 是否仍然有效?
  • 不能给你答案吗?当你发帖获取请求对象包含什么?
  • 第三方发不了贴?当您说空时,您的意思是 Laravel 请求对象是空的吗? laravel.com/docs/master/requests#accessing-the-request
猜你喜欢
  • 2017-05-30
  • 1970-01-01
  • 1970-01-01
  • 2020-11-15
  • 1970-01-01
  • 2011-04-24
  • 2018-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多