Laravel 如何使用put方法更新vue组件上的数据?
我的ajax axios如下所示: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
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', ...
我没有成功发送数据。发送的数据为空
我怎样才能解决这个问题
更新:
如果Iconsole.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,因为此表单用于更新数据