У меня есть серверная функция:
string foo(string input_string);
например:
foo("bar") returns "baz"
, и я обернул эту функцию в HTTP-сервер так, что:
POST /foo HTTP/1.1
...
bar
вернет:
HTTP/1.1 200 OK
...
baz
т.е. POST Запрос с входной строкой в качестве тела сообщения HTTP вернет выходную строку в виде тела сообщения HTTP 200 OK.
Теперь в моем javascript на веб-странице у меня есть две функции:
function sendFoo(input_string)
{
??? // should asynchronously start process to POST input_string to server
}
function recvFoo(output_string)
{
...
}
Когда я вызываю sendFoo, я хочу, чтобы POST выполнялся асинхронно с сервером, а позже, когда будет получен ответ, я хотел бы вызвать recvFoo (возможно, в другой поток или что-то еще) с телом сообщения 200 OK.
Как мне реализовать sendFoo выше? В настоящее время я использую jQuery, но решение на чистом javascript тоже подойдет. (Я также могу изменить сервер, если это необходимо?)
Решение :
function sendFoo(input_string)
{
$.ajax({ url: "/foo", type: "POST", data: input_string, success: recvFoo });
}