javascript - js什么情况下会出现阻塞?
阿神
阿神 2017-04-10 17:17:56
[JavaScript讨论组]

1、警告信息:Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
2、代码
//添加按妞事件
function addClick(obj){

//判断右侧列表是否已包含该商品
var myid = $(obj).parent().parent().attr("data-id");
var theGoods = $("#tailList").find("tr[data-id='"+myid+"']");
var _th=$(obj).parent().parent();
var datanum =  _th.attr('data-id');
var price = parseFloat($("#price_"+datanum).val());
var vipprice = parseFloat($("#vipprice_"+datanum).val());
if(theGoods.length>0){
    var theGoodsAmount = $($(theGoods).find(".ct_nnm")[0]).html();
    $(obj).parent().parent().find(".ct_nnum").html(parseInt(theGoodsAmount)).removeClass("disnone");
    adds2($(obj).parent().find(".readd").children().first(),"price_"+datanum);
    $(obj).addClass("disnone");
    return ;
}
//校验数量
var num = parseInt($(obj).parent().parent().find(".ct_nnum").text());
var canuseamount = $("td[data-name='canuseamount']",$(obj).parent().parent()).text();//可售数量
var cansale=0;
var consumerlinkstock = $("#consumerlinkstock").val();
if(consumerlinkstock=="0"){//关联库存,不能超过库存数量
    cansale = parseInt(canuseamount);
    if(cansale<1){
        var msg=""+canuseamount+"";
        alert(msg,function(){},"warning",false);
        return;
    }
}else{//未关联库存,默认上限为999
    if(num>=999){
        alert("",function(){},"warning",false);
        return;
    }
}

//更新到“购物车”
$.ajax({
    url:"consumerCart.html?goodsno="+$(_th).attr("data-id")+"&amount=1"+"&price="+price,

// data:{"cartgoods.price":price,"cartgoods.totalprice":totalprice,"cartgoods.title":title,"cartgoods.bid":"","cartgoods.goodsid":goodsid,"cartgoods.gsn":gsn,"cartgoods.tid":tid,"cartgoods.direct":direct,"cartgoods.validity":validity},

    type:"POST",
    dataType:"text",
    async:false,
    success:function(){},
    error:function(){return false;}
});

//页面操作
var myrownum = $(".mydetail").length;
var str=""+
            ""+$('.good-name',_th).text()+""+
            ""+price+""+
            ""+vipprice+""+
            " 1 "+
            ""+price+""+
            ""+vipprice+""+
            ""+
                '' +
                '' +
                '' +
                '' +
                '' +
                '' +
                '' +
                '' +
                '' +
                '' +
                '' +
                '' +
            ""+
        "";

$('.ct_tblst').append(str);
_th.find('.ct_nnum').removeClass('disnone');
$(obj).addClass('disnone');
consume();

}

阿神
阿神

闭关修行中......

全部回复(3)
大家讲道理

$.ajax中把async:false改为async:true,请使用异步的方式发送请求

伊谢尔伦

ios下,当你滚动页面的时候,js是阻塞的

怪我咯

调用同步API时

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号