我定义了一个vue-resource:
resources.js:
import Vue from 'vue'
import VueResource from 'vue-resource'
Vue.use(VueResource);
export const Team = Vue.resource('team{/id}{/action}');
那么,如果我在该资源上调用get方法:
api = require('.api/resources')
api.Team.get({
id: 3233,
action: 'details',
}).then(function(response) {
// ....
});
此ajax调用请求:
/team/3233/details
但是当我使用.update
或.save
而不是.get
时,请求网址并不符合预期:
api = require('.api/resources')
api.Team.update({
id: 3233,
action: 'details',
}).then(function(response) {
// ....
});
我只向/team
发送请求,并在请求正文中传输所有参数。
如何在.save
或.update
ajax调用中指定网址参数?
答案 0 :(得分:2)
只需在方法调用上添加第二个参数即可:
api = require('.api/resources')
api.Team.update({
id: 3233,
action: 'details',
}, {}).then(function(response) {
// ....
});
当vue-resource在一个带body的方法上调用ajax时,它接受一个或两个数据参数。
如果给出一个单一参数,则将其视为正文有效负载。
如果给出两个参数,则第一个是路由参数,而第二个是身体有效负载。
因此,如果要指定路由参数,只需将空对象作为第二个参数。