把请求放在ajax中

时间:2017-01-20 12:36:52

标签: php jquery ajax laravel

我有这样的路线 -

Route::put('avote', 'voteController@avote')->middleware('auth');

我想从ajax发送请求访问此路由。
当我使用此代码时 -

$data = {/* some data here */};
$.post("/avote", $data, function(result) {
    $('#avote h2').html(result);
    $('#avote a span').css('color', 'orange');
    $('#avote a span').unwrap();
});

我收到错误method not allowed。我知道这是我使用的方法的问题(使用post not put)

我的问题是,有什么方法可以使用ajax或任何其他脚本从/avote获取信息吗?

请不要建议我将路由请求从put更改为post 保护/avote路径的任何其他方式

  

我使用Route::put()因为我在路由控制器中有数据库更新功能

1 个答案:

答案 0 :(得分:2)

转到$.ajax()函数而不是$.post并提供methodtype)属性:

$.ajax({
    url: "/avote", 
    data: $data, 
    method: "PUT",
    // or type: "PUT", if your jquery version is prior to 1.9
    success: function(result) {
        $('#avote h2').html(result);
        $('#avote a span').css('color', 'orange');
        $('#avote a span').unwrap();
    }
});