Laravel,$ .ajax POST执行GET请求

时间:2016-03-05 12:22:05

标签: javascript php jquery ajax laravel

我有问题。我的jquery提交函数,尝试执行GET请求,同时我将其设置为POST请求。

我的提交功能

class List {
  constructor(next, val) {
    this.next = next;
    this._val = val;
  }

  set val(v) {
    this._val = v;
  }

  get val() {
    return this.name;
  }
}

routes.php文件

function authenticate() {
var form = $('#form-login');
form.submit(function(evt) {
    evt.preventDefault();
    console.log('submitting!');
    console.log(form.serialize());
    $.ajax({
        type: 'POST',
        url: 'http://website.dev/loginz',
        data: form.serialize(),
        dataType: 'json',
        success: function(data) { log_error(data.error); }
    });
});
}

我的Chrome浏览器说什么

Route::post('loginz', 'User\LoginController@authenticate');

/ Loginz

GET http://website.dev/loginz/ 405 (Method Not Allowed)

也许我只是愚蠢而撞墙,我盯着自己死了,我只是看不到错误:P

1 个答案:

答案 0 :(得分:0)

您使用的是什么版本的laravel?

必须为发布请求提供csrf令牌。

您也可以在\App\Http\Middleware\VerifyCsrfToken::class,

中停用csrf验证

但是如果你在客户端进站,会更好。 laravel的含义你应该在刀片模板中添加如下内容:

$( document ).ready(function() {
    $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': '{{ csrf_token() }}' } });
});

但首先,在Chrome(示例)检查器中 - >网络 - > header:请求方法是什么?