Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel Vue:Axios 401表单提交错误_Laravel_Vue.js_Vuejs2_Axios - Fatal编程技术网

Laravel Vue:Axios 401表单提交错误

Laravel Vue:Axios 401表单提交错误,laravel,vue.js,vuejs2,axios,Laravel,Vue.js,Vuejs2,Axios,我有一个可以创建/编辑用户的模式。但是当我点击提交按钮时,我得到了一个401错误 方法如下所示: sendUserData(){ axios.post('/api/saveUser', { headers: { Authorization: 'Bearer ' + localStorage.getItem('token') },

我有一个可以创建/编辑用户的模式。但是当我点击提交按钮时,我得到了一个401错误

方法如下所示:


sendUserData(){
                axios.post('/api/saveUser', {
                    headers: {
                        Authorization: 'Bearer ' + localStorage.getItem('token')
                    },
                    id: this.id,
                    name: this.name,
                    email: this.email,
                    password: this.password
                }).then(response => {
                    console.log(response.data);
                    this.$emit('userSaved')
                }).catch(error => {
                    console.log(error)
                });
            }


Route::group([

    'middleware' => 'api',
    'prefix' => 'auth'

], function ($router) {

    Route::post('login', 'AuthController@login');
    Route::post('logout', 'AuthController@logout');
    Route::post('refresh', 'AuthController@refresh');

});

Route::middleware('auth:api')->group(function () {
    Route::post('saveUser', 'UserController@saveUser');
});

api.php如下所示:


sendUserData(){
                axios.post('/api/saveUser', {
                    headers: {
                        Authorization: 'Bearer ' + localStorage.getItem('token')
                    },
                    id: this.id,
                    name: this.name,
                    email: this.email,
                    password: this.password
                }).then(response => {
                    console.log(response.data);
                    this.$emit('userSaved')
                }).catch(error => {
                    console.log(error)
                });
            }


Route::group([

    'middleware' => 'api',
    'prefix' => 'auth'

], function ($router) {

    Route::post('login', 'AuthController@login');
    Route::post('logout', 'AuthController@logout');
    Route::post('refresh', 'AuthController@refresh');

});

Route::middleware('auth:api')->group(function () {
    Route::post('saveUser', 'UserController@saveUser');
});

如果我将console.log标记记录下来,我会得到一个有效的JSON标记


如何修复此问题?

您的axios函数格式不正确。应该是这样的:


sendUserData(){
                axios.post('/api/saveUser', {
                    headers: {
                        Authorization: 'Bearer ' + localStorage.getItem('token')
                    },
                    id: this.id,
                    name: this.name,
                    email: this.email,
                    password: this.password
                }).then(response => {
                    console.log(response.data);
                    this.$emit('userSaved')
                }).catch(error => {
                    console.log(error)
                });
            }


Route::group([

    'middleware' => 'api',
    'prefix' => 'auth'

], function ($router) {

    Route::post('login', 'AuthController@login');
    Route::post('logout', 'AuthController@logout');
    Route::post('refresh', 'AuthController@refresh');

});

Route::middleware('auth:api')->group(function () {
    Route::post('saveUser', 'UserController@saveUser');
});

axios.post('/api/saveUser'{
id:this.id,
姓名:this.name,
电子邮件:this.email,
密码:这个是密码
}, {
标题:{
授权:'Bearer'+localStorage.getItem('token')
},
})。然后(响应=>{
console.log(response.data);
此.$emit('userSaved')
}).catch(错误=>{
console.log(错误)
});

您的axios函数格式不正确。应该是这样的:


sendUserData(){
                axios.post('/api/saveUser', {
                    headers: {
                        Authorization: 'Bearer ' + localStorage.getItem('token')
                    },
                    id: this.id,
                    name: this.name,
                    email: this.email,
                    password: this.password
                }).then(response => {
                    console.log(response.data);
                    this.$emit('userSaved')
                }).catch(error => {
                    console.log(error)
                });
            }


Route::group([

    'middleware' => 'api',
    'prefix' => 'auth'

], function ($router) {

    Route::post('login', 'AuthController@login');
    Route::post('logout', 'AuthController@logout');
    Route::post('refresh', 'AuthController@refresh');

});

Route::middleware('auth:api')->group(function () {
    Route::post('saveUser', 'UserController@saveUser');
});

axios.post('/api/saveUser'{
id:this.id,
姓名:this.name,
电子邮件:this.email,
密码:这个是密码
}, {
标题:{
授权:'Bearer'+localStorage.getItem('token')
},
})。然后(响应=>{
console.log(response.data);
此.$emit('userSaved')
}).catch(错误=>{
console.log(错误)
});

您是否尝试使用
web.php
而不是
api.php
?也许这是解决问题的第一步。您是否尝试使用
web.php
而不是
api.php
?也许这是解决你问题的第一步