Базовый «необработанный» вызов Ajax

У меня есть серверная функция:

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 });
}
5
задан Andrew Tomazos 5 February 2012 в 11:36
поделиться