美文网首页
Ajax(jquery) 同时处理多个异步请求

Ajax(jquery) 同时处理多个异步请求

作者: 坏人_李哈哈 | 来源:发表于2016-11-24 17:22 被阅读355次

    Ajax 同时处理异步请求,可能出现这样的错误:只有最后一个异步请求有效,其他的都没效果。所以当我们执行完一次异步请求就应该把这次创建出来的 XMLHttpRequest 对象删除,然后再执行下一次异步请求。删除使用 delete 即可

    delete xmlHttp;
    xmlHttp = null;
    

    举例说明:

    在table中批量删除操作中发送了多个删除请求,如不删除jquXHR对象后会只删除选中的最后一行,删除jquXHR对象后问题解决。

    <script type="text/javascript" th:inline="javascript">
    function delAll() {
        var a = $('#table').bootstrapTable('getSelections');
        for(var i=0;i<a.length;i++){
            del(a[i].id);
        }
        if(a.length==0){
            alert("没有选中任何项","error");
            return;
        }
    }
    function del(id){
         var index = layer.alert('您确定要删除吗?',{title:"确认删除",btn:['确认删除','取消'],icon: 2},function(index, layero){
    
                 
                 $.ajax({
                        type : "POST",
                        url : 'content/delete',
                        data : {"id":id},
                        dataType : 'json',
                        cache : false,
                        compelete:function(jqXHR){
                            delete jquXHR;
                            jqXHR = null;
                        }
                        success : function(jr) {
                            layer.close(index);
                             if(jr.resultCode=="success"){
                                 refresh();
                             }else{
                                 layer.alert(jr.resultMessage);
                             }
                        }
                    }); 
                
            },function(index, layero){
                
            });
        
    }
    </script>
    

    参考资料:

    jQuery.ajax()中文文档(比w3cschool详细很多)
    php用法

    相关文章

      网友评论

          本文标题:Ajax(jquery) 同时处理多个异步请求

          本文链接:https://www.haomeiwen.com/subject/cmobpttx.html