Я делаю приложение для адресной книги через laravel 5.2 и vuejs, моему приложению нужна функциональность CRUD, я остановился на части «Обновление», я отправляю данные через ajax в laravel
и я получаю данные в laravel, но я не могу обновить строки.
это мой метод в vuejs, который обрабатывает обновление:
updatecontact:function(){
var contactid = this.editingcontact.id;
var contact update = JSON.stringify(this.editingcontact);
this.$http({url: '/adressbook/'+contactid, data: {contactupdate} , method: 'PATCH'})
.then(function (response) {
console.log(response);
}, function (response) {
// error callback
});
и это метод, который обрабатывает ajax-запрос в laravel (это PUT)
public function update(Request $request, $id)
{
$adressbook = Adressbook::findorFail($id);
$adressbook->save($request->all());
}
наконец, вот как выглядят данные:
contactupdate: "{"id":5,"companyName":"poolad","zamineKar":"test","tel":"44044440","fax":"44044422","email"}"
Лучший способ сделать это — отправить this.editingcontact
как данные:
updatecontact:function(){
var contactid = this.editingcontact.id;
this.$http({url: '/adressbook/'+contactid, data: this.editingcontact , method: 'PATCH'})
.then(function (response) {
console.log(response);
}, function (response) {
// error callback
});
Тогда этот код обновления должен работать:
public function update(Request $request, $id)
{
$adressbook = Adressbook::findOrFail($id);
$adressbook->update($request->all());
}
Других решений пока нет …