Создать кнопку AJAX на существующей веб-странице, чтобы разместить заказ на услугу трансфера на iWay.ru с помощью RestAPI на стороне сервере в ASP.NET MVC4, Visual Studio 2015. Мы сами потом встроим в свой проект.
Следует сделать с сервера (а не с клиента!) все необходимые вызовы API:
Создать простой образец html страницы с 1 кнопкой: [Создать заказ]
Пожалуйста, укажите вашу цену и дату, когда работа будет готова, если я выберу вас в течение 24 часов после вашего ответа на эту работу.
------------
Логика:
1. После нажатия кнопки она должна отображать значок «в процессе», если мышь находится над кнопкой, и выполнить AJAX-вызов метода сервера «CreateiWayOrder ()» см. ниже. Если мышь находится вне кнопки, она должна выглядеть как обычно. Этот метод должен вызывать с сервера все необходимые вызовы API, чтобы подготовить данные для заказа, а затем сделать последний вызов «POST /Orders» (
, но нет необходимости делать последний вызов POST /orders/approve/)
2. Если заказ создан удачно, отобразить ссылку на созданный заказ с текстом "Order <order_id>" вместо кнопки (удалите кнопку). Пример: см. Https: //iway.ru/ru/methodngapi/getorderstrips?order_id = ...
3. Если произошла какая-либо ошибка, отобразите текст ошибки в div справа от кнопки и шаг, на котором она произошла. Пример:
"Find departure: INVALID REQUEST" or "Create Order: Flight Number cannot be blank."
Кнопка все еще доступна в этом случае.
Techologies:
-----------------------
1. Вся логика на стороне сервера в ASP.NET MVC4, VS 2015. Для JSON используйте библиотеку Newtonsoft.JSON. Другие библиотеки не нужны.
2. Клиентская часть простой javascript или jQuery.
Без ОРМ или фреймворков на сервере или клиента!!!
Параметры функции на сервере:
-------------------------------
Параметры для CreateiWayOrder отправляются со стороны клиента на сторону сервера в виде JSON строки paramsJSONstring при вызове AJAX, за исключением идентификатора пользователя и пароля, их задаем фиксированно на сервере.
Нужно реализовать простой случай с одним стартом и одним финишем и одним пассажиром.
CreateiWayOrder (string user_id, string password, string paramsJSONstring), возвращает: string trip_id (для нового созданного заказа)
paramsJSONstring:
"{StartAddress, StartTime, StartFlight, FinishAddress, FinishTime, FinishFlight, PassengerName, PassengerPhone, PassengerEmail, carclass_id}"
пример paramsJSONstring:
"
{
StartAddress: "Шереметьево Терминал D",
StartTime: "2019-11-24 14:00",
StartFlight: "SU025",
FinishAddress: "Москва Тверская 25",
FinishTime: "",
FinishFlight: "",
PassengerName: "Пассажиров Пассажир Пассажирович",
PassengerPhone: "",
PassengerEmail: "",
carclass_id: 2
}"