ERR_BLOCKED_BY_CLIENT ajax函数在chrome中不起作用

时间:2016-03-16 14:13:57

标签: jquery ajax codeigniter

当Adblock在chrome中处于活动状态时,脚本无法在chrome中运行。它在控制台中显示错误,如此

  

jquery-1.7.2.min.js:4 GET http://example.com/advertisement/mult_select/30 net :: ERR_BLOCKED_BY_CLIENT

     

jquery-1.7.2.min.js:4 POST http://example.com/advertisement/getCategoryFieldsList/30/0 net :: ERR_BLOCKED_BY_CLIENT

我也尝试过反adblock-killer.user.js。但它仍然没有用。

<script>
$(document).ready(function(event){

$('.category_1').live('change',function(){

var foo = []; 
var name = [];
$('.category_1 :selected').each(function(i, selected){ 
  foo[i] = $(selected).val(); 
  name[i] = $(selected).attr("myTag");
});

//$('.category_title_0').html(name[0]);
var str = (foo[0]).replace(/\,/g, '');
$(this).parent('div').nextUntil('#tit').remove();
var str2 = $(this).find('option:selected').attr('parent_id');
$.ajax({
url: "<?= site_url('advertisement/mult_select')?>"+'/'+str,
success:function(result)
{
$('.mul-select').append(result);
}
});
$.ajax({
    type: "POST",
    dataType: 'script',
    url: "<?= site_url('advertisement/getCategoryFieldsList') ?>"+"/"+str+"/"+str2,
    success: function(result)
    {
        if($("#"+str2).length > 0)
        {
            $("#"+str2).empty();
            $("#"+str2).nextAll('*').empty();
            $("#"+str2).html( result );
        }
        else
        {
        $('#dynamic_fields_div').append( "<div id="+str2+"></div>" );
        $("#"+str2).html( result );
        }
    } 
});

});

});

2 个答案:

答案 0 :(得分:2)

正如评论中所述,问题是广告广告拦截了网址中的javax.validation javax.validation.bootstrap javax.validation.constraints javax.validation.groups javax.validation.metadata javax.validation.spi org.apache.servicemix.specs.locator 字样,并认为它是广告。
许多应用程序以这种方式工作(例如,卡巴斯基阻止我拥有的网站上的页面,因为它包含单词advertisementtoss),所以你应该小心你写的URL考虑到访问者可能有阻止某些不良词汇的应用程序。

答案 1 :(得分:0)

在我的情况下,URL路径上没有名称“ advertisement”,但仍然出现相同的 ERR_BLOCKED_BY_CLIENT 错误。

我通过为$ .ajax()函数提供 cache:false 选项来解决此问题。

我在这里保留此评论,因为它可能对某人有用。