【问题标题】:jQuery ajax request returning 405 ( POST not allowed) in laravel appjQuery ajax 请求在 laravel 应用程序中返回 405(不允许 POST)
【发布时间】:2014-11-02 09:44:31
【问题描述】:

我似乎无法弄清楚这一点。这是一个apache配置吗?我已经看到了一些添加 POST 的 filters.php 配置,但如果这是问题所在,它会出现在 laravel 文档中,对吧?

路线:

Route::get('orders/add', 'OrderController@add');
Route::resource('orders', 'OrderController');

控制器(REST 方法为空):

class OrderController extends \BaseController {
   public function add()
    {
       if (Request::ajax())
           return "ajax request ";
       else 
           return "not ajax";
    }
...

jQuery:

function add()
{
   var tid = $('#sites input[type=radio]:checked').attr('id');

   $.ajax({
      type: "POST",
      url: 'add',
      data: { tid: tid }
   }).done( function (msg){
      alert(msg);
   });
}

发送按钮:

<button onclick="add()" id="formSubmit"> Carrinho </button>

当我单击按钮时,firefox 会在控制台上显示错误:

POST http://localhost/orders/add [HTTP/1.0 405 Method Not Allowed 17ms]

谢谢大家。

【问题讨论】:

    标签: javascript php ajax laravel laravel-4


    【解决方案1】:

    Route::get 需要一个 GET HTTP 标头。你需要使用Route::post

    代替

    Route::get('orders/add', 'OrderController@add');

    你应该使用

    Route::post('orders/add', 'OrderController@add');

    Source: Laravel routing documentation

    【讨论】:

    • 而且我一直想知道为什么函数名被称为“get”。嗯,我很尴尬。谢谢。
    • 我们都从某个地方开始:)。如果你想使用 RESTFUL 逻辑,我可以建议使用RESTFUL controllers(在页面上搜索restful)吗?
    【解决方案2】:

    如果您正在使用资源控制器,您真的不需要 /add 路由,因为它已经有一个 create 方法。

    OrdersController extends BaseController {
        public function index() {} // show ALL orders
        public function create() {} // show the form to create an order aka "add"
        public function store() {} // get input from post.
        public function update($order_id) {} // update an order resource 
        public function destroy($order_id) {} // destroy an order resource
    }
    

    在您的 ajax 中将 url 更改为 url: {{URL::route('orders.store')}}, 应该可以解决它。

    【讨论】:

      猜你喜欢
      • 2016-02-21
      • 2019-03-25
      • 2018-08-22
      • 2013-06-24
      • 2017-01-27
      • 2017-03-15
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      相关资源
      最近更新 更多