Respuestas:
Realmente no necesita un cliente específico, es bastante simple con la mayoría de las bibliotecas. Por ejemplo, en jQuery puede simplemente llamar a la $.ajaxfunción genérica con el tipo de solicitud que desea realizar:
$.ajax({
url: 'http://example.com/',
type: 'PUT',
data: 'ID=1&Name=John&Age=10', // or $('#myform').serializeArray()
success: function() { alert('PUT completed'); }
});
Puede reemplazar PUTcon GET/ POST/ DELETEo lo que sea.
PUTy DELETEsi desea accesos directos.
successdevolución de llamada toma un dataargumento, que contendrá la respuesta.
Si bien es posible que desee utilizar una biblioteca, como el excelente jQuery , no es necesario: todos los navegadores modernos admiten HTTP muy bien en sus implementaciones de JavaScript a través de la API XMLHttpRequest , que, a pesar de su nombre, no se limita a representaciones XML .
A continuación, se muestra un ejemplo de cómo realizar una solicitud HTTP PUT sincrónica en JavaScript:
var url = "http://host/path/to/resource";
var representationOfDesiredState = "The cheese is old and moldy, where is the bathroom?";
var client = new XMLHttpRequest();
client.open("PUT", url, false);
client.setRequestHeader("Content-Type", "text/plain");
client.send(representationOfDesiredState);
if (client.status == 200)
alert("The request succeeded!\n\nThe response representation was:\n\n" + client.responseText)
else
alert("The request did not succeed!\n\nThe response status was: " + client.status + " " + client.statusText + ".");
Este ejemplo es sincrónico porque lo hace un poco más fácil, pero también es bastante fácil realizar solicitudes asincrónicas utilizando esta API.
Hay miles de páginas y artículos en la web sobre el aprendizaje de XmlHttpRequest; generalmente usan el término AJAX; desafortunadamente, no puedo recomendar uno específico. Sin embargo, puede encontrar útil esta referencia .
Puede usar este complemento de jQuery que acabo de hacer :) https://github.com/jpillora/jquery.rest/
Admite operaciones CRUD básicas, recursos anidados, autenticación básica
var client = new $.RestClient('/api/rest/');
client.add('foo');
client.foo.add('baz');
client.add('bar');
client.foo.create({a:21,b:42});
// POST /api/rest/foo/ (with data a=21 and b=42)
client.foo.read();
// GET /api/rest/foo/
client.foo.read("42");
// GET /api/rest/foo/42/
client.foo.update("42");
// PUT /api/rest/foo/42/
client.foo.delete("42");
// DELETE /api/rest/foo/42/
//RESULTS USE '$.Deferred'
client.foo.read().success(function(foos) {
alert('Hooray ! I have ' + foos.length + 'foos !' );
});
Si encuentra errores o desea nuevas funciones, publíquelas en la página 'Problemas' de los repositorios.
Como referencia, quiero agregar sobre ExtJS, como se explica en Manual: Servicios web RESTful . En resumen, use el método para especificar GET, POST, PUT, DELETE. Ejemplo:
Ext.Ajax.request({
url: '/articles/restful-web-services',
method: 'PUT',
params: {
author: 'Patrick Donelan',
subject: 'RESTful Web Services are easy with Ext!'
}
});
Si el encabezado Aceptar es necesario, se puede establecer como predeterminado para todas las solicitudes:
Ext.Ajax.defaultHeaders = {
'Accept': 'application/json'
};
También puede usar marcos de mvc como Backbone.js que proporcionarán un modelo javascript de los datos. Los cambios en el modelo se traducirán en llamadas REST.
Puede probar restful.js , un cliente RESTful independiente del marco, utilizando una sintaxis similar al popular Restangular.
Dojo lo hace, por ejemplo, a través de JsonRestStore, consulte http://www.sitepen.com/blog/2008/06/13/restful-json-dojo-data/ .
Puede utilizar http://adodson.com/hello.js/ que tiene