Настройка и отправка файлов cookie с помощью JQuery с использованием API - PullRequest
0 голосов
/ 21 января 2011

Это мой первый раз, когда я использую API, так что это может быть довольно просто, но я в значительной степени потяну за строки здесь.

У меня есть URL-адрес, который принимает имя пользователя и пароль в формате JSON с помощью метода post, это, по сути, проверка клиента до того, как может произойти какая-либо реальная работа.Если имя пользователя и пароль приняты, ответ будет содержать код состояния и файл cookie для сеанса.Этот файл cookie необходимо отправлять с каждым последующим запросом.Эта последняя часть меня смущает.

В настоящее время вот что у меня есть:

<script>
$.post("https://login-url", { "username": "testuser","password":"1234567890" },
   function(data){
     $.cookie("test", data);
     alert(data.username); // John
     console.log(data); //  2pm
   }, "json");

$.post("https://register-url", { "username": "test@aol.com","password":"password","attributeMap":{"firstName":"ETest","lastName":"NTest","languageCode":"EN"} },
   function(data){
     alert(data.username); // John
     console.log(data); //  2pm
   }, "json");


</script>

Итак, я пытаюсь установить cookie в первой части (я не могу сказать,Я делаю это правильно?), И я действительно не знаю, как отправить его во втором посте.

Часть проблемы заключается в том, что API является совершенно новым и практически не имеет документации.

Спасибо!

-Elliot

(также,этот код скопирован из документации jquery, а затем немного изменен для удовлетворения моих потребностей)

1 Ответ

0 голосов
/ 21 января 2011

$. POST асинхронный - это означает, что второе сообщение будет запущено сразу после первого. Это означает, что второе сообщение будет запущено до того, как файл cookie был установлен.

Либо во втором посте в функции обратного вызова первого ИЛИ установите глобальную переменную, чтобы проверить, был ли установлен cookie, и выполните цикл с таймером, пока не будет установлен cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...