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 如何使用put方法更新vue组件上的数据?_Laravel_Vue.js_Vuejs2_Vue Component_Axios - Fatal编程技术网

Laravel 如何使用put方法更新vue组件上的数据?

Laravel 如何使用put方法更新vue组件上的数据?,laravel,vue.js,vuejs2,vue-component,axios,Laravel,Vue.js,Vuejs2,Vue Component,Axios,我的ajax axios如下所示: let formData = new FormData() formData.append('file', user.avatar) formData.append('selected_data', JSON.stringify(user)) axios.post('/member/profile/update', formData, { headers: { 'Content-Type': 'multipar

我的ajax axios如下所示:

let formData = new FormData()
formData.append('file', user.avatar)
formData.append('selected_data', JSON.stringify(user))
axios.post('/member/profile/update', 
    formData, {
        headers: {
            'Content-Type': 'multipart/form-data'
        }
    }
)
.then(response => cb(response))
.catch(error => ecb(error))
Route::post('update', 'member\UserController@update')->name('member.profile.update');
axios.put(...
我的路线是这样的:

let formData = new FormData()
formData.append('file', user.avatar)
formData.append('selected_data', JSON.stringify(user))
axios.post('/member/profile/update', 
    formData, {
        headers: {
            'Content-Type': 'multipart/form-data'
        }
    }
)
.then(response => cb(response))
.catch(error => ecb(error))
Route::post('update', 'member\UserController@update')->name('member.profile.update');
axios.put(...
如果脚本被执行,它就会工作。我成功地发送了数据

但在这里,我想把post方法改为put方法。因为这用于更新配置文件

我会这样改变:

let formData = new FormData()
formData.append('file', user.avatar)
formData.append('selected_data', JSON.stringify(user))
axios.post('/member/profile/update', 
    formData, {
        headers: {
            'Content-Type': 'multipart/form-data'
        }
    }
)
.then(response => cb(response))
.catch(error => ecb(error))
Route::post('update', 'member\UserController@update')->name('member.profile.update');
axios.put(...
路线如下:

Route::put('update', ...
我没有成功发送数据。发送的数据为空

我怎样才能解决这个问题

更新

如果I
console.log(user)
,结果如下:

let formData = new FormData()
formData.append('file', user.avatar)
formData.append('selected_data', JSON.stringify(user))
axios.post('/member/profile/update', 
    formData, {
        headers: {
            'Content-Type': 'multipart/form-data'
        }
    }
)
.then(response => cb(response))
.catch(error => ecb(error))
Route::post('update', 'member\UserController@update')->name('member.profile.update');
axios.put(...

Laravel使用方法欺骗进行PUT,使用
axios.post
并将以下内容添加到您的请求数据中:

data: {
    ...
    _method: 'PUT',
    ...
}
你可以做:

formData.append('_method', 'PUT')
使用axios的完整示例:

axios.post('/user', { _method: 'PUT', foo: 'bar' })
  .then(function (response) { console.log(response); })
  .catch(function (error) { console.log(error); });

Laravel使用方法欺骗进行PUT,使用
axios.post
并将以下内容添加到您的请求数据中:

data: {
    ...
    _method: 'PUT',
    ...
}
你可以做:

formData.append('_method', 'PUT')
使用axios的完整示例:

axios.post('/user', { _method: 'PUT', foo: 'bar' })
  .then(function (response) { console.log(response); })
  .catch(function (error) { console.log(error); });

我在哪里定义
\u方法:“PUT”
?我使用ajax发送数据。尝试完全更新答案并将其添加到formData变量OK。路由保持如下:
Route::put('update',…
?是的,应该可以。POST也可以,因为它不是真正的
PUT
。实际上,POST也可以。但是我用PUT替换它,因为这个表单用于更新数据,我定义了
\u方法:'PUT'
?我使用ajax发送数据。尝试完全更新你的答案。将它添加到y我们的formData变量好的。路由保持如下:
Route::put('update',…
?是的,应该可以正常工作。
POST
也可以正常工作,因为它不是一个真正的
put
。实际上POST也可以正常工作。但我将其替换为put,因为此表单用于更新数据