mplify.requestを使用しており、サーバーとの間でデータを送受信するときに CRUD のような URL を使用したいと考えています。次に例を示します。
リソースの定義
resources = {
"document_create" : ['/d/crud/', "POST"],
"document_read" : ['/d/crud/{id}', "GET"],
"document_update" : ['/d/crud/{id}', "PUT"],
"document_delete" : ['/d/crud/{id}', "DELETE"]
};
$.each(resources, function (resource, settings) {
definition = {
url : settings[0],
type : settings[1],
dataType: "json", // what comes back
decoder : 'jsend',
contentType: 'application/json' // what goes there
};
amplify.request.define(resource, "ajax", definition);
});
リソースの使用
function make_request(resource, params, success_cb, error_cb) {
if (this.is_post(resource)) {
// this.is_post is a test, defined elsewhere, to see if this is a POST request
params = JSON.stringify(params);
}
amplify.request(
resourceId: resource
data: params
success: success_cb
error: error_cb
);
}
これは、create
andread
および `delete, like-so:に対して正常に機能します。
make_request('document_delete', {id: 1}, cb)
ただし、 の場合update
、コンテンツが JSON として渡されるため、意図したとおりに URL 置換が行われません。
{id}
上記のスキームでURL 置換を利用する方法はありますか?
私が考えることができる唯一の代替手段は、URL エンコードされたサーバーにデータを渡すことです。残念ながら、これには多少問題があります。可能であれば、CRUD のような URL の使用と JSON 形式のデータでの保存を維持できるようにしたいと考えています。
考えをいただければ幸いです。