Задать вопрос
@ex3xeng

Почему adblock блокирует ajax запрос?

Доброго времени суток! есть простейшая функция на js

function addtocart(object,id,message) {
	var formData = $("#p-" + id).serialize() + "&ajax=ajax&goods_id=" + id;
	object.style.display = "none";
				
	for (var o = object.nextSibling; o && 1 != o.nodeType;) 
	o = o.nextSibling;
				o.style.display = "block";
				
				//alert("/?view=addtocart&" + formData);
				jQuery.ajax({
					url: "/?view=addtocart&" + formData,
					type: "get",
					dataType: "html",
					data: formData,
						success: function(request) {
							o.style.display = "none"; 
							object.style.display = "block";
							
							$("#freeow").fadeOut(300, function() {
                                $(this).fadeIn(300);
                                $("#freeow_name").html("<b>" + base64_decode(message) + "</b>");
                            }); 
                            $("#cart__p").hide().html(request).fadeIn(300);
						},
						error: function(response) {
							alert("ERROR MESSAGE!");
						}
				});	
	}


вызывается вот так вот:
<a href="#" onclick="addtocart(this,'81','0LDRgNGC0LjQutGD0Lsg0JA1');return false;">Добавить в корзину</a>


я уже замучился с этим Adblock без него все работает везде, но стоит функции отработать как он блокирует её, в чем может быть проблема?

this -> метка на текущий элемент
81 -> id товара для корзины
кракозябры это base64 - пробовал без них но он все равно блочит

сразу отрабатывает error-> ERROR MESSAGE!

UPD
В общем переделал все ещё проще, не помолго...

$(document).ready(function() {
	        $("#addtocart").click(function(e){
	            e.preventDefault();
	            addtocart('#addtocart', $(this).attr("data-id"));
	        });
        });
	    
        function addtocart(obj,id) {
				var formData = $("#p-" + id).serialize() + "&ajax=ajax&goods_id=" + id;
			
				jQuery.ajax({
					url: "/?view=addtocart&" + formData,
					type: "get",
					dataType: "html",
					data: formData,
						success: function(request) {
							$("#freeow").fadeOut(300, function() {
                                $(this).fadeIn(300);
                                $("#freeow_name").html("good");
                            }); 
                            $("#cart__p").hide().html(request).fadeIn(300);
						},
						error: function(response) {
							alert("ERROR MESSAGE!");
						}
				});	
	}

кнопка:
<a href="#" id="addtocart" data-id="<?=$goods['goods_id']?>">добавить</a>


Проще некуда, jqueryподключаю так:
<script   src="https://code.jquery.com/jquery-1.12.2.js"   integrity="sha256-VUCyr0ZXB5VhBibo2DkTVhdspjmxUgxDGaLQx7qb7xY="   crossorigin="anonymous"></script>
  • Вопрос задан
  • 1314 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
SuperOrange
@SuperOrange
PHP/JS/TS dev
Посмотри в меню ADBLOCKer отчет
Там будет список заблокированных ресурсов или запросов и причина блокировки (сработавшее правило).

А лучше всего приведи url который блокируется
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽