Цитата:
|
Мне нужно, чтобы при помощи скрипта к данной ссылке:
$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, время: 02:08. |