使用axios发送对象获取请求

时间:2017-09-25 11:23:46

标签: laravel vue.js axios

我想发送一个带有对象的get请求。将在服务器上使用对象数据来更新会话数据。但该对象似乎没有正确发送,因为如果我尝试将其发回去打印出来,我只会得到:

" N; "

我可以像这样使用jQuery,它可以工作:

 $.get('/mysite/public/api/updatecart', { 'product': this.product },  data => {     
              console.log(data);
           });

使用laravel从服务器发回对象:

public function updateCart(Request $request){
      return serialize($request->product);

同样的事情不适用于axios:

axios.get('/api/updatecart', { 'product': this.product })       
                .then(response => {
                    console.log(response.data);
            });

我用axios设置了一个默认的baseURL,所以url是不同的。它正确到达api端点,函数返回发送的内容,这显然不是对象。结果我只得到“ N; ”。

1 个答案:

答案 0 :(得分:22)

Axios API与jQuery AJAX有点不同。如果你必须传递一些参数和GET请求,你需要使用params对象的config属性(.get()方法的第二个参数):

axios.get('/api/updatecart', {
  params: {
    product: this.product
  }
}).then(...)