Как переделать ссылку в ajax запрос?

В магазине у каждого товара есть кнопка "Купить" имеющая ссылку:
<a class="btn btn-mini" href="javascript:void(0)" onclick="javascript: add2cart('<?= $hash ?>', '<?= $part['buy_url'] ?>');" rel="nofollow">

Для всех товаров $part['buy_url'] (вдруг!)разный.
Нужно переделать её, чтобы она отправляла запрос страницы через аякс примерно так:
$('a[rel*="add2cart"]').click(                
                function(){
                    $.ajax({                      
                      type: "GET",
                      url: $(this).attr("rel"),
                      dataType: "html",
                      success: function(out){
                                $("#bid").html(getBasketHTML(out));
                      }  });   }   );

Рассмотрю любые варианты.
Функция add2cart выглядит так:
function add2cart(hash, url)
{   var qi = $('input[rel="quantity"][data-part-hash="' + hash + '"]');
    var quantity = parseInt(qi.val());
    var quantity = qi.val(), mf = Math.max(1, parseInt(qi.data('step')));
    if (quantity < mf || (quantity % mf > 0)) {
        if (!confirm(langs['SEARCH_QUANTITY_SIZE_CONFIRM'] + ' (' + mf + ').')) {
            return false;
     }  }
    url = url + '&quantity=' + quantity;
    document.location = url; }
  • Вопрос задан
  • 2666 просмотров
Решения вопроса 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Побуду Вангой
<a class="btn btn-mini" href="#" data-hash="<?=$hash?>" data-buy-url="<?=$part['buy_url']?>" class="buy-link" rel="nofollow">


$('.buy-link').click(function(){
                    var self = $(this)
                    $.ajax({                      
                      type: "GET",
                      url: add2cart(self.attr("data-buy-url"),self.attr("data-hash")),
                      dataType: "html",
                      success: function(out){
                                $("#bid").html(getBasketHTML(out));
                      } 
                      });  
                      return false;
 });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vdem
Ну, во-первых, вот таким образом Вы ссылку не найдете:
$('a[rel*="add2cart"]')
поскольку атрибут rel у Вас установлен в nofollow, а не add2cart.
Вероятнее всего проверять нужно атрибут onclick.
Дальше - выгрызаете из атрибута значения $hash и $part['buy_url'].
Дальше - делаете на сервере страницу, которая будет обрабатывать запрос.
Было бы неплохо увидеть код функции add2cart().
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Farpost Владивосток
от 60 000 ₽
Moncera Киров
от 150 000 до 180 000 ₽
Moncera Киров
от 100 000 до 120 000 ₽
26 окт. 2021, в 12:54
10000 руб./за проект
26 окт. 2021, в 12:38
10000 руб./за проект
26 окт. 2021, в 12:35
500 руб./за проект