Câu trả lời:
Bạn không thực sự cần một ứng dụng khách cụ thể, nó khá đơn giản với hầu hết các thư viện. Ví dụ: trong jQuery, bạn chỉ có thể gọi $.ajax
hàm chung với loại yêu cầu bạn muốn thực hiện:
$.ajax({
url: 'http://example.com/',
type: 'PUT',
data: 'ID=1&Name=John&Age=10', // or $('#myform').serializeArray()
success: function() { alert('PUT completed'); }
});
Bạn có thể thay thế PUT
bằng GET
/ POST
/ DELETE
hoặc bất cứ điều gì.
PUT
và DELETE
phương thức của riêng bạn nếu bạn muốn các phím tắt.
success
gọi lại nhận một data
đối số, sẽ chứa phản hồi.
Mặc dù bạn có thể muốn sử dụng một thư viện, chẳng hạn như jQuery tuyệt vời , nhưng bạn không cần phải làm như vậy: tất cả các trình duyệt hiện đại đều hỗ trợ HTTP rất tốt trong việc triển khai JavaScript của chúng thông qua API XMLHttpRequest , mặc dù có tên gọi, nhưng không giới hạn ở các biểu diễn XML .
Dưới đây là một ví dụ về việc thực hiện một yêu cầu HTTP PUT đồng bộ trong 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 + ".");
Ví dụ này là đồng bộ vì điều đó làm cho nó dễ dàng hơn một chút, nhưng cũng khá dễ dàng để thực hiện các yêu cầu không đồng bộ bằng cách sử dụng API này.
Có hàng nghìn trang và bài báo trên web về việc học XmlHttpRequest - họ thường sử dụng thuật ngữ AJAX - tiếc là tôi không thể đề xuất một cái cụ thể. Bạn có thể thấy tài liệu tham khảo này hữu ích.
Bạn có thể sử dụng plugin jQuery này mà tôi vừa tạo :) https://github.com/jpillora/jquery.rest/
Hỗ trợ các hoạt động CRUD cơ bản, tài nguyên lồng nhau, xác thực cơ bản
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 !' );
});
Nếu bạn tìm thấy lỗi hoặc muốn có các tính năng mới, vui lòng đăng chúng trên trang 'Sự cố' của kho lưu trữ
jQuery có plugin JSON-REST với kiểu REST của các mẫu tham số URI. Theo ví dụ mô tả của nó về việc sử dụng là followin: $.Read("/{b}/{a}", { a:'foo', b:'bar', c:3 })
trở thành GET thành "/ bar / foo? C = 3".
Để tham khảo, tôi muốn thêm về ExtJS, như được giải thích trong Hướng dẫn sử dụng: Dịch vụ Web RESTful . Tóm lại, sử dụng phương thức để chỉ định GET, POST, PUT, DELETE. Thí dụ:
Ext.Ajax.request({
url: '/articles/restful-web-services',
method: 'PUT',
params: {
author: 'Patrick Donelan',
subject: 'RESTful Web Services are easy with Ext!'
}
});
Nếu tiêu đề Chấp nhận là cần thiết, nó có thể được đặt làm mặc định cho tất cả các yêu cầu:
Ext.Ajax.defaultHeaders = {
'Accept': 'application/json'
};
Bạn cũng có thể sử dụng các khung công tác mvc như Backbone.js sẽ cung cấp mô hình javascript của dữ liệu. Các thay đổi đối với mô hình sẽ được chuyển thành các cuộc gọi REST.
Bạn có thể thử restful.js , một ứng dụng khách RESTful của khuôn khổ bất khả tri, sử dụng cú pháp tương tự như Restangular phổ biến.
Dojo thực hiện, ví dụ: thông qua JsonRestStore, xem http://www.sitepen.com/blog/2008/06/13/restful-json-dojo-data/ .
Bạn có thể sử dụng http://adodson.com/hello.js/ có