Tôi có một chức năng serverside:cơ bản "thô" Ajax Gọi
string foo(string input_string);
ví dụ:
foo("bar") returns "baz"
và đã quấn chức năng này vào một máy chủ HTTP như vậy:
POST /foo HTTP/1.1
...
bar
sẽ trả lại:
HTTP/1.1 200 OK
...
baz
tức là yêu cầu POST với chuỗi đầu vào khi Nội dung thư HTTP sẽ trả về chuỗi đầu ra làm Nội dung thư HTTP của 200 OK.
Bây giờ trong javascript của tôi trên trang web Tôi có hai chức năng:
function sendFoo(input_string)
{
??? // should asynchronously start process to POST input_string to server
}
function recvFoo(output_string)
{
...
}
Khi tôi gọi sendFoo Tôi muốn POST phải được thực hiện không đồng bộ với máy chủ và sau khi nhận được phản hồi Tôi muốn recvFoo được gọi (có lẽ trong một chủ đề khác hoặc bất kỳ điều gì) với Nội dung thư của 200 OK.
Tôi làm cách nào để triển khai sendFoo ở trên? Tôi hiện đang sử dụng jQuery, nhưng một giải pháp trong javascript tinh khiết là ok quá. (Tôi cũng có thể sửa đổi các máy chủ nếu cần thiết?)
Giải pháp:
function sendFoo(input_string)
{
$.ajax({ url: "/foo", type: "POST", data: input_string, success: recvFoo });
}
bạn có thể sử dụng jquery ajax qua đường bưu điện phải không? – kobe
Bạn vẫn gặp khó khăn? – gdoron
thử các giải pháp được đề xuất ngay, bắt đầu với giải pháp của bạn. trong chrome tôi nhận thấy rằng nó trys để gửi một "OPTIONS" yêu cầu đầu tiên. Ngoài ra nếu URL là xấu tôi không nhận được thông báo lỗi, nhưng tôi đoán đó là không thể tránh khỏi. –