3

我定义了一个 vue 资源:

资源.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

问题:

但是当我使用.updateor.save而不是.get时,请求 url 并不像预期的那样:

api = require('.api/resources')
api.Team.update({
    id: 3233,
    action: 'details',
}).then(function(response) {
    // ....
});

我只向/team请求正文中传输的所有参数发送请求。

如何在此类.save.updateajax 调用中指定 url 参数?

4

1 回答 1

2

好吧,只需在方法调用上添加第二个参数就可以了:

api = require('.api/resources')
api.Team.update({
    id: 3233,
    action: 'details',
}, {}).then(function(response) {
    // ....
});

当 vue-resource 在带有 body 的方法上调用 ajax 时,它接受一个或两个数据参数。

如果给定一个参数,则将其视为正文有效负载。

如果给定两个参数,第一个是路由参数,第二个是body payload。

因此,如果要指定路由参数,只需给一个空对象作为第二个参数即可。

于 2016-05-05T08:32:55.203 回答