Я использую amplify.request, и я хотел бы иметь URL-адреса, подобные CRUD, при отправке данных на сервер и с сервера. Вот пример:
Определение ресурса
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 и read и `delete, like-so:
make_request('document_delete', {id: 1}, cb)
Однако, для update, поскольку содержимое передается как JSON, замена URL не выполняется так, как предполагалось.
Есть ли способ использовать замену URL для {id} в приведенной выше схеме?
Единственная альтернатива, о которой я могу думать, - передать данные на URL-адрес сервера. К сожалению, это несколько проблематично, и я предпочел бы сохранить возможность использования CRUD-подобных URL-адресов и сохранения с форматированными данными JSON, если это возможно.
Мысли будут оценены.