3

vue-resource を定義しました:

リソース.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

メソッド呼び出しに 2 番目のパラメーターを追加するだけで問題ありません。

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

vue-resource が body を持つメソッドで ajax を呼び出す場合、1 つまたは 2 つのデータ パラメーターを受け入れます。

単一のパラメータが指定された場合、それは本文のペイロードとして扱われました。

2 つのパラメーターが指定されている場合、最初のパラメーターはルーティング パラメーターで、2 番目のパラメーターは本文のペイロードです。

したがって、ルーティング パラメータを指定する場合は、2 番目のパラメータとして空のオブジェクトを指定します。

于 2016-05-05T08:32:55.203 に答える