Как переделать ссылку в 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; }
  • Вопрос задан
  • 2687 просмотров
Решения вопроса 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().
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы