2 qq 40112430 qq_40112430 于 2017.09.05 15:23 提问

ajax 调用外部函数,外部函数中的ajax不执行

tab();
function tab() {
//alert("name:"+name);
$("#table")
.bootstrapTable({

                            url: "scol/player.action",
                            method: 'get', //请求方式(*)
                            toolbar: '#formTools', //工具按钮用哪个容器
                            striped: true, //是否显示行间隔色
                            cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
                            pagination: true, //是否显示分页(*)
                            queryParams: function(params) {
                                return {
                                    offset: params.offset,
                                    limit: params.limit,
                                    sname: $('#sname').val(),
                                    sposi: $('#sposi').val(),
                                    roles: $('#roles').val()
                                };
                            },
                            pageSize: 4, //每页的记录行数(*)
                            pageNumber: 1, //初始化加载第一页,默认第一页
                            pageList: [2, 4, 6],
                            singleSelect: false,
                            showColumns: true,
                            sortable: true, //是否启用排序 
                            sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
                            strictSearch: true,
                            minimumCountColumns: 2, //最少允许的列数
                            clickToSelect: true, //是否启用点击选中行
                            showRefresh: false, //是否显示刷新按钮
                            uniqueId: "id", //每一行的唯一标识,一般为主键列
                            cardView: false, //是否显示详细视图
                            search: true,
                            strictSearch: true,
                            showColumns: true,
                            showRefresh: true,
                            showExport: true,
                            onLoadError: function(data) {
                                $('#stuinfo').bootstrapTable('removeAll');
                            },
                            columns: [{
                                    field: 'id',
                                    title: '球员号码'
                                },
                                {
                                    field: 'name',
                                    title: '球员姓名'
                                },
                                {
                                    field: 'posi',
                                    title: '位置'
                                },
                                {
                                    field: 'cm',
                                    title: '身高/CM'
                                },
                                {
                                    field: 'kg',
                                    title: '体重/KG'
                                },
                                {
                                    field: 'home',
                                    title: '籍贯'
                                },
                                {
                                    field: 'birth',
                                    title: '出生日期'
                                },
                                {
                                    field: 'ps',
                                    title: '备注'
                                },
                                /* {
                                    field : 'yid',
                                    title : '入队时间'
                                }, */
                                {
                                    field: 'year.year',
                                    title: '入队时间'
                                },
                                {

                                    title: '状态',
                                    field: '',
                                    align: 'center',
                                    formatter: function(value, row, index) {
                                        var s="123";
                                         $.ajax({
                                            url: 'scol/eec.action',
                                            type: 'post',
                                            data: { pid: row.id },
                                            dataType: 'json',
                                            async : false,
                                            beforeSend: function(jqXHR, settings) {

                                            },

                                            success: function(data3, textStatus) {
                                                if(textStatus == "success") {

                                                    var s1=data3.point[data3.point.length-1];
                                                    var s2=data3.point[data3.point.length-2];
                                                    if(s1-s2>8){
                                                        s="red;'>上升"
                                                    }else if(s2-s1>8){
                                                        s="gray;'>下滑"
                                                    }else if(s1==null||s2==null)
                                                        {
                                                        s="goldenrod;'>未知"
                                                        }
                                                    else{
                                                        s="lawngreen;'>正常"
                                                    }

                                                }
                                            },
                                            error: function(jqXHR, textStatus, errorThrown) {
                                                //充当catch(e)的角色
                                                alert("失败!");
                                            }

                                        });

                                        var w = "<span style='color:"+s+"</span> "; 

                                        return w ;      
                                    }

                                },
                                {

                                    title: '操作',
                                    field: '',
                                    align: 'center',
                                    formatter: function(value, row, index) {
                                        var w = '<a href="#" mce_href="#" onclick="detail(\'' + row.id + '\')">详细信息</a> ';
                                        var e = '<a href="#" mce_href="#" onclick="edit1(\'' + row.id+'\',\''+row.name+ '\',\''
                                        +row.posi+ '\',\''+row.cm+ '\',\''+row.kg+ '\',\''+row.home+ '\',\''+row.birth
                                        + '\',\''+row.ps+ '\',\''+row.yid+ '\',\''+row.tid+ '\')">编辑</a> ';
                                        var d = '<a href="#" mce_href="#" onclick="del(\'' + row.id + '\',\''+row.name+'\')">删除</a> ';
                                        return w + e + d;
                                    }

                                }
                            ],
                            onDblClickRow: function(row, $element) {

                                eechart(row);

                            }
                        });
                };

/* 删除 /
function del(pid,pname) {
if(confirm("确定删除" + pname + "吗?")){
$.ajax({
url: 'scol/dps.action',
type: 'post',
data: { pid: pid },
dataType: 'text',
/
async : false, */
beforeSend: function(jqXHR, settings) {

                },

                success: function(data3, textStatus) {
                    if(textStatus == "success") {
                        alert("用户删除" + data3);
                        $('#table').bootstrapTable('destroy');
                        tab();


                    }
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    //充当catch(e)的角色
                    alert("删除失败!");
                }

            });}

        };

2个回答

caozhy
caozhy   Ds   Rxr 2017.09.05 15:36

不是不执行,而是执行的时机问题,get请求是异步的,你要等数据返回了,再下一步。

caihuan19890113
caihuan19890113   2017.10.25 11:11

看上面的代码把异步设置为false注释掉啦,那就是默认的同步,同步的话只能是ajax后台程序执行完了,返回值后再执行ajax下面的代码,异步的话,不用等ajax执行完返回值,就可以执行ajax下面的代码!

Csdn user default icon
上传中...
上传图片
插入图片