जवाबों:
आपको वास्तव में एक विशिष्ट ग्राहक की आवश्यकता नहीं है, यह अधिकांश पुस्तकालयों के साथ काफी सरल है। उदाहरण के लिए jQuery में आप केवल $.ajax
उस प्रकार के अनुरोध के साथ जेनेरिक फ़ंक्शन को कॉल कर सकते हैं जिसे आप बनाना चाहते हैं:
$.ajax({
url: 'http://example.com/',
type: 'PUT',
data: 'ID=1&Name=John&Age=10', // or $('#myform').serializeArray()
success: function() { alert('PUT completed'); }
});
आप / / या के PUT
साथ बदल सकते हैं ।GET
POST
DELETE
PUT
और DELETE
तरीके बनाना बहुत सरल है ।
success
कॉलबैक एक data
तर्क लेता है , जिसमें प्रतिक्रिया होगी।
जब आप एक पुस्तकालय का उपयोग करने की इच्छा कर सकते हैं, जैसे कि उत्कृष्ट jQuery , तो आपके पास नहीं है: सभी आधुनिक ब्राउज़र अपने जावास्क्रिप्ट कार्यान्वयन में HTTP को बहुत अच्छी तरह से XMLHttpRequest API के माध्यम से समर्थन करते हैं , जो कि इसके नाम के बावजूद, XML प्रतिनिधित्व तक सीमित नहीं है। ।
यहाँ जावास्क्रिप्ट में एक तुल्यकालिक HTTP PUT अनुरोध करने का एक उदाहरण दिया गया है:
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 + ".");
यह उदाहरण तुल्यकालिक है क्योंकि यह इसे थोड़ा आसान बनाता है, लेकिन इस एपीआई का उपयोग करके अतुल्यकालिक अनुरोध करना काफी आसान है।
XmlHttpRequest सीखने के बारे में वेब पर हजारों पृष्ठ और लेख हैं - वे आमतौर पर AJAX शब्द का उपयोग करते हैं - दुर्भाग्य से मैं एक विशिष्ट अनुशंसा नहीं कर सकता। आपको यह संदर्भ आसान लग सकता है ।
आप इस jQuery प्लगइन का उपयोग कर सकते हैं जिसे मैंने अभी बनाया है :) https://github.com/jpillora/jquery.rest/
मूल CRUD संचालन, नेस्टेड संसाधन, मूल स्थिति का समर्थन करता है
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 !' );
});
यदि आप बग ढूंढते हैं या नई सुविधाएँ चाहते हैं, तो उन्हें रिपॉजिटरी 'इश्यूज़' पेज में पोस्ट करें
jQuery में URI पैरामीटर टेम्प्लेट की REST शैली के साथ JSON-REST प्लगइन है। इसके वर्णन के अनुसार उपयोग करने का उदाहरण $.Read("/{b}/{a}", { a:'foo', b:'bar', c:3 })
अनुवर्ती है: "/ बार / फू? सी = 3" के लिए एक GET बन जाता है।
संदर्भ के लिए मैं एक्सटीजेएस के बारे में जोड़ना चाहता हूं, जैसा कि मैनुअल में बताया गया है: रेस्टफुल वेब सर्विसेज । संक्षेप में, GET, POST, PUT, DELETE निर्दिष्ट करने के लिए विधि का उपयोग करें। उदाहरण:
Ext.Ajax.request({
url: '/articles/restful-web-services',
method: 'PUT',
params: {
author: 'Patrick Donelan',
subject: 'RESTful Web Services are easy with Ext!'
}
});
यदि हेडर स्वीकार करना आवश्यक है, तो इसे सभी अनुरोधों के लिए डिफ़ॉल्ट के रूप में सेट किया जा सकता है:
Ext.Ajax.defaultHeaders = {
'Accept': 'application/json'
};
आप लोकप्रिय Restangular के समान एक सिंटैक्स का उपयोग करके, restful.js , एक फ्रेमवर्क-अज्ञेयवादी क्लाइंट की कोशिश कर सकते हैं ।
Dojo करता है, जैसे JsonRestStore के माध्यम से, http://www.sitepen.com/blog/2008/06/13/restful-json-dojo-data/ देखें ।
आप उपयोग कर सकते हैं http://adodson.com/hello.js/ है जो