将记录从Vue.js更新到Laravel

时间:2018-04-02 03:38:05

标签: vuejs2 laravel-5.6

如何将记录从Vue.js更新为Laravel?

我正在尝试从下面的vue发送AJAX请求

var address_data = {
                    name        :this.dname,                    
                    address     :this.address,
                    telephone_no:this.telephone_no,
                    email       :this.email,
                    image       :this.image,
                    user_id     :this.user_id,
                }

this.$http.post('http://127.0.0.1:8000/api/addresses/{address}',address_data,{headers: {'Authorization': 'Bearer ' + this.$auth.getToken()}}).then(response => {
                    if(response) {                      
                            //some code
                        }
                    },
                    response => {
                        //some code
                    })

api.php我的路线如下

Route::group(['prefix' => 'addresses', 'middleware' => 'auth:api'], function () {
    Route::put('/{address}', 'AddressController@update');
});

AddressContoller.php我在下面写了update函数的代码。

public function update(Request $request, Address $address)
    {
        $address->update($request->all());

        return response()->json($address, 200);
    }

可能是我犯了一些错误。我不知道错误在哪里。

1 个答案:

答案 0 :(得分:1)

我认为其中一个问题是它找不到路线和方法。你有多个问题:

  1. Javascript不会使用普通'进行插值,您需要使用``,因此您的代码会向http://127.0.0.1:8000/api/addresses/{address}而不是http://127.0.0.1:8000/api/addresses/2发送请求,例如
  2. 在您向我们展示的代码中,“address”未定义
  3. 您正在使用.post发出请求,但在laravel上,您将路由定义为put