Suc*_*Man 0 laravel vue.js vue-component axios vuejs2
我的 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))
Run Code Online (Sandbox Code Playgroud)
我的路线是这样的:
Route::post('update', 'member\UserController@update')->name('member.profile.update');
Run Code Online (Sandbox Code Playgroud)
如果脚本执行,它工作。我成功发送了数据
但是在这里,我想将 post 方法更改为 put 方法。因为这用于更新配置文件
我这样改变:
axios.put(...
Run Code Online (Sandbox Code Playgroud)
和路线:
Route::put('update', ...
Run Code Online (Sandbox Code Playgroud)
我没有成功发送数据。发送的数据为空
我怎么解决这个问题?
更新:
如果我console.log(user),结果是这样的:
小智 5
Laravel 对 PUT 使用方法欺骗,使用axios.post以下内容并将其添加到您的请求数据中:
data: {
...
_method: 'PUT',
...
}
Run Code Online (Sandbox Code Playgroud)
你可以做:
formData.append('_method', 'PUT')
Run Code Online (Sandbox Code Playgroud)
使用 axios 的完整示例:
axios.post('/user', { _method: 'PUT', foo: 'bar' })
.then(function (response) { console.log(response); })
.catch(function (error) { console.log(error); });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2706 次 |
| 最近记录: |