Vue js,http 405错误Laravel

时间:2017-01-19 19:16:32

标签: javascript php laravel http vue.js

我的api中的http调用有问题。

问题是我有这个http POST电话:

axios.post("/api/crear/dimension/", data).then((response) => {
                        this.success();
                        console.log(response.data);
                    }).catch((response) => {
                        this.error(response)//;
                    })

使用axios,因为vue资源已被弃用。

事情是,当我想触发调用时,会发生这种情况:

GET http://localhost/api/crear/dimension 405 (Method Not Allowed)

请注意chrome如何将此作为GET调用而不是POST调用。 IDK为什么

但是当我进行GET调用时,一切正常。

这是我在laravel中的路径文件:

Route::group(['middleware' => 'auth:api'], function () {
  Route::get('/user', function (Request $request) {
    return $request->user();
  });

  Route::post('/crear/dimension/', 'AdminController@createDimension');

});

PS:我在laravel中使用护照包。一切都配置得很好 因为我可以毫无问题地获得GET电话。事情是在POST电话中,

我也做了一个put,patch call。与上述结果相同,

我已尝试使用vue资源,但没有工作

// EDIT

我从api调用结束时删除了斜杠,我得到了401。 有关详细信息,请转到HERE

1 个答案:

答案 0 :(得分:1)

Vue并未被弃用,Laravel已不再正式支持它。 vue-resource自动为csrf_token定义拦截器,以便自动传递resources/assets/js/bootstrap.js,您会在Vue.http.interceptors.push((request, next) => { request.headers['X-CSRF-TOKEN'] = Laravel.csrfToken; next(); }); 中找到以下内容:

csrf_token

如果您使用的是其他ajax库,则需要传递此axios。我没有使用bootstrap.js,但是从他们的文档中,您可能需要在axios.interceptors.request.use(function (config) { config.headers['X-CSRF-TOKEN'] = Laravel.csrfToken; return config; }); 文件中包含类似的内容:

{{1}}