Показать сообщение отдельно
  #1 (permalink)  
Старый 28.06.2020, 16:11
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Сделать два запроса одним кликом
Здравствуйте у меня есть форма для платежа на opencart, который должна обрабатыватся на фронте, там много модули поставлении а в модуля форма сделано обфускация и в добавок платежная система не дает возможность сделать debug в php. Так вот чтобы обезопасить форму от ручного изменения я создал форму без полей
<form>
<button type="submit" id="idram" style="cursor: pointer" class="btn btn-success"  >
	 &nbsp; Перейди по ссылке 
   </button>
</form>

и поля этого формы должно добавляться в коде который сделает два запроса. Первый чтобы получить данный из базы второе отправит посетителя по ссылке.
Я сделал первый асинхронно а второй синхронно но второй не работает
function idram() {
	    $(document).ready(function() {
	        let quantity = $('td.quantity input').val();
	        let name = $('#customer_firstname').val();
	        let phone = $('#customer_telephone').val();
	        let email = $('#customer_email').val();
	        let zone_id = $('#shipping_address_zone_id').val();
	        let city = $('#shipping_address_city').val();
	        let addr = $('#shipping_address_address_1').val();
	        let country_id = $('#shipping_address_country_id').val();
	        let address_id = $('#shipping_address_current_address_id').val();
	        let shipping_method = $('#simplecheckout_shipping input:checked').val();
	        let payment = $('#simplecheckout_payment input:checked').val();

	        $.ajax({
	                url: 'http://mamapapa.am/index.php?route=checkout/simplecheckout&group=0',
	                type: 'POST',
	                dataType: 'html',
	                cache: false,
	                data: {
	                    'customer[firstname]': name,
	                    'customer[telephone]': phone,
	                    'customer[email]': email,
	                    'shipping_address[zone_id]': zone_id,
	                    'shipping_address[city]': city,
	                    'shipping_address[address_1]': addr,
	                    'shipping_address[country_id]': country_id,
	                    'shipping_address[postcode]': '',
	                    'shipping_address[current_address_id]': address_id,
	                    'shipping_method': shipping_method,
	                    'shipping_method_current': shipping_method,
	                    'shipping_method_checked': shipping_method,
	                    'payment_method': payment,
	                    'payment_method_current': payment,
	                    'payment_method_checked': payment,
	                    'comment': '',
	                    'quantity[189]': quantity,
	                    'remove': '',
	                    'next_step': 1,
	                    'simple_ajax': 1,
	                },
	            }).done(function(html) {
	                let amou = $(html).find('#total_total span.simplecheckout-cart-total-value').text();
	                let totalres = parseInt(amou) + '.00';
	                $.ajax({
	                    url: 'https://web.paymen.am/payment.aspx',
	                    type: 'POST',
	                    dataType: 'html',
	                    cache: false,
	                    async: false,
	                    data: {
	                        'EDP_LANGUAGE': 'AM',
	                        'EDP_REC_ACCOUNT': '1111111',
	                        'EDP_DESCRIPTION': 'Mmmmmm',
	                        'EDP_AMOUNT': totalres,
	                        'EDP_BILL_NO': 1,
	                    },
	                });
	            })
	            .fail(function() {
	                // console.log("error");
	            });
	    });
	};

	$(document).ready(function() {
	    $('#idram').click(function(e) {
	    	// e.preventDefault();
	        idram();
	    });
	});

Последний раз редактировалось Hovik, 28.06.2020 в 17:25.
Ответить с цитированием