Skip to content

Instantly share code, notes, and snippets.

@Integral
Created September 12, 2016 13:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Integral/b2183f2171de9cc1c0ed68b0a2da67ca to your computer and use it in GitHub Desktop.
Save Integral/b2183f2171de9cc1c0ed68b0a2da67ca to your computer and use it in GitHub Desktop.
// Пример запроса
var data = new FormData();
// Вы готовы сдавать кровь на безвозмездной основе? (обязательно к заполнению)
// ответы: да, конечно/нет
// на сервер посылается true/false
// если пользователь выбрал "нет" - форма не должна сабмититься
// на сайте мы пишем буквально следующее:
// Извините, мы занимаемся поиском безвозмездных доноров. Спасибо. Всего доброго!
data.append("accept", "true");
// Фамилия (обязательно к заполнению)
data.append("lastname", "Ivanov");
// Имя (обязательно к заполнению)
data.append("firstname", "Ivan");
// Отчество
data.append("middlename", "Alexandrovich");
// Город (обязательно к заполнению)
data.append("city", "Moscow");
// Дата рождения (обязательно к заполнению)
// Дата дожна быть именно в формате YYYY-MM-DD
data.append("birthday", "1985-08-27");
// Группа крови (обязательно к заполнению)
// Возможные значения: O(I)Rh-, O(I)Rh+, A(II)Rh-, A(II)Rh+, B(III)Rh-, B(III)Rh+, AB(IV)Rh-, AB(IV)Rh+, Не знаю
data.append("blood_group", "O(I)Rh-");
// Телефон (обязательно к заполнению)
data.append("phone", "+79231234567");
// Адрес электронной почты (обязательно к заполнению)
data.append("email", "ivanov@example.com");
// Регистрация (обязательно к заполнению)
// Возможные значения: Москва (МО), региональная, иностранец
data.append("registration", "Москва");
// Были ли вы донором ранее (обязательно к заполнению)
// на сервер посылается true/false
data.append("old_donor", "true");
// В каком районе Москвы вам удобнее сдавать кровь
data.append("district", "тверской");
// я хочу подписаться на донорскую рассылку (обязательно к заполнению)
// на сервер посылается true/false
data.append("mailing", "true");
// у меня нет противопоказаний к донорству (обязательно к заполнению, список противопоказания здесь: http://podari-zhizn.ru/main/node/7471#contra-indications)
// на сервер посылается true/false
data.append("contra_indication", "false");
// Комментарии
data.append("comment", "здесь написан комментарий");
// Дата заполнения
// обязательно в формате YYYY-MM-DDThh:mm:ssTZD
data.append("date", "2016-09-12T08:44:47+03:00");
// md5 хэш от строки даты заполнения + PG3jn6HtpXKBTzUy
// то есть здесь от строки 2016-09-12T08:44:47+03:00PG3jn6HtpXKBTzUy
data.append("md5", "02181fa9ad2135ff68c7097516fc357e");
// Если хэш правильный - письмо посылается и возвращается статус 200
// если неправильный - возвращается статус 400
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "здесь http адрес");
xhr.send(data);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment