Цитата:
|
Мне нужно, чтобы при помощи скрипта к данной ссылке:
$addSrc = '/ajax/addto/ajax_backend.php?IBLOCK_ID='.$arResult["IBLOCK_ID"].'&ID='.$arResult["ID"].'&TO=basket'; добавлялось '&QTTY=qtty', где qtty - это значение, переданное в скрипт здесь: var qtty = document.getElementById('qtty'); |
Часть url-а, начинающаяся от знака ? и есть query-строка. jQuery как раз перед запросом засовывает параметры в эту строку.
|
А что выполняется раньше: скрипт в этом файле или
/ajax/addto/ajax_backend.php? В файле /ajax/addto/ajax_backend.php есть такой код. if(!intval($_REQUEST['QTTY'])) $_REQUEST['QTTY'] = 1; else $_REQUEST['QTTY'] = intval($_REQUEST['QTTY']); Add2BasketByProductID(intval($_REQUEST['ID']), $_REQUEST['QTTY']); Но переменная $_REQUEST['QTTY'] туда никогда не передается, т. е. этот код не работает. Почему? |
Изучай запрос на вкладке "сеть" в отладчике браузера
|
В общем, запрос формируется правильно.
А как посмотреть, что происходит внутри /ajax/addto/ajax_backend.php ? Если написать просто echo, то в браузер ничего не выведется. Можно ли, например, сделать всплывающее окно, в котором выводить имя переменной? |
Попробовал заменить запрос GET на POST - тоже самое: переменная не передается! По-прежнему, undefined.
$('a.ajax').click(function() { if(!$.returnFlag) { var qtty = document.getElementById('qtty'); var data = {}; data['QTTY'] = $('#qtty').val(); $.post( $(this).attr('href'), data, function (result) { var el = document.getElementById(result['id']); el.innerHTML = 'В корзине'; $('#'+result['id']).removeClass('ajax'); $('#'+result['id']).removeClass('byi'); $('#'+result['id']).addClass('byi2'); $('#'+result['id']).click(function() {window.location = this.href;}); $.returnFlag = true; el.href = '/personal/cart/'; ajaxCars(); }, "json" ) .done(function(data) { alert("Quantity: " + data['QTTY']);}) .fail(function() { alert("Ajax Error"); }); return false; } }); |
Часовой пояс GMT +3, время: 09:59. |