我的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
答案 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}}