Antworten:
Sie brauchen nicht wirklich einen bestimmten Client, es ist mit den meisten Bibliotheken ziemlich einfach. In jQuery können Sie beispielsweise einfach die generische $.ajaxFunktion mit der Art der Anforderung aufrufen, die Sie stellen möchten:
$.ajax({
url: 'http://example.com/',
type: 'PUT',
data: 'ID=1&Name=John&Age=10', // or $('#myform').serializeArray()
success: function() { alert('PUT completed'); }
});
Sie können ersetzen PUTmit GET/ POST/ DELETEoder was auch immer.
PUTund DELETEMethoden zu erstellen , wenn Sie Verknüpfungen wünschen.
successRückruf nimmt ein dataArgument an, das die Antwort enthält.
Möglicherweise möchten Sie eine Bibliothek wie die hervorragende jQuery verwenden , müssen dies jedoch nicht: Alle modernen Browser unterstützen HTTP in ihren JavaScript-Implementierungen sehr gut über die XMLHttpRequest-API , die trotz ihres Namens nicht auf XML-Darstellungen beschränkt ist .
Hier ist ein Beispiel für eine synchrone HTTP-PUT-Anforderung in 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 + ".");
Dieses Beispiel ist synchron, da dies die Arbeit etwas vereinfacht. Es ist jedoch auch recht einfach, asynchrone Anforderungen mithilfe dieser API zu stellen.
Es gibt Tausende von Seiten und Artikeln im Web über das Erlernen von XmlHttpRequest - sie verwenden normalerweise den Begriff AJAX - leider kann ich keinen bestimmten empfehlen. Sie können diese Referenz jedoch nützlich finden.
Sie können dieses jQuery-Plugin verwenden, das ich gerade erstellt habe :) https://github.com/jpillora/jquery.rest/
Unterstützt grundlegende CRUD-Operationen, verschachtelte Ressourcen und grundlegende Authentifizierung
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 !' );
});
Wenn Sie Fehler finden oder neue Funktionen wünschen, veröffentlichen Sie diese bitte auf der Seite "Probleme" des Repositorys
jQuery verfügt über ein JSON-REST- Plugin mit REST-Stil von URI-Parametervorlagen. Entsprechend seiner Beschreibung ist das folgende Verwendungsbeispiel das Folgende: $.Read("/{b}/{a}", { a:'foo', b:'bar', c:3 })wird ein GET zu "/ bar / foo? C = 3".
Als Referenz möchte ich ExtJS hinzufügen, wie im Handbuch: RESTful Web Services erläutert . Kurz gesagt, verwenden Sie die Methode, um GET, POST, PUT, DELETE anzugeben. Beispiel:
Ext.Ajax.request({
url: '/articles/restful-web-services',
method: 'PUT',
params: {
author: 'Patrick Donelan',
subject: 'RESTful Web Services are easy with Ext!'
}
});
Wenn der Accept-Header erforderlich ist, kann er für alle Anforderungen als Standard festgelegt werden:
Ext.Ajax.defaultHeaders = {
'Accept': 'application/json'
};
Sie können auch MVC-Frameworks wie Backbone.js verwenden, die ein Javascript-Modell der Daten bereitstellen. Änderungen am Modell werden in REST-Aufrufe übersetzt.
Sie können restful.js , einen rahmenunabhängigen RESTful-Client, mit einer Syntax ausprobieren, die der beliebten Restangular ähnelt.
Dojo, z. B. über JsonRestStore, siehe http://www.sitepen.com/blog/2008/06/13/restful-json-dojo-data/ .
Sie können http://adodson.com/hello.js/ verwenden, das hat