我想发送一个带有对象的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; ”。
答案 0 :(得分:22)
Axios API与jQuery AJAX有点不同。如果你必须传递一些参数和GET请求,你需要使用params
对象的config
属性(.get()
方法的第二个参数):
axios.get('/api/updatecart', {
params: {
product: this.product
}
}).then(...)