求教jquery ajax逐条处理数据怎么写?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

求教jquery ajax逐条处理数据怎么写?

2016-07-06 16:04:17 2264 1



要求: 1.点击查询按钮后,$.ajax使用post向mysql.php发送请求数据,并将文本框设置为不可更改,button不能再点击

2.mysql.php返回一组json格式的数据,例如:["aaa","bbb","ccc"]

3.然后将这组逐条$.ajax使用post发送到demo.php,如data:{'chaxun':'aaa'}

4.只有当前一条complete完成后,才执行下一条data:{'chaxun':'bbb'}

5.当所有数据执行完后,释放对文本框和button的控制

另:jquery中用$.ajax有个timeout的超时参数,请教超时信息如何返馈给用户的?是通过error参数的function吗? 上面的要求要加上超时信息返馈给用户,请教怎么加? 能附上完整点的实例就更好了。

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:52:14
    <input type="text" name="chaxun" id="chaxun">
    <button id="button" onclick="search()">查询</button>
     
    <script src="jquery.js"></script>
    <script>
        var dataCount = 0;
        function search()
        {
            dataCount = 0;
            $('#chaxun').attr('readonly', 'readonly');
            $('#button').attr('disabled', 'disabled');
            ajax(
                'post', 'mysql.php', null,
                 function(response) {
                    if (response.lenth > 0) {
                        dataCount = response.length;
                        for (var index in response) {
                            completeData({chaxun: response[index]});
                        }
                    }
                     
                    if (dataCount == 0) {
                        $('#chaxun').removeAttr('readonly');
                        $('#button').removeAttr('disabled');                    
                    }
                     
                 }, error
            );
        }
         
        function completeData(data)
        {
            ajax(
                'post', 'demo.php', data,
                 function(response) {
                    if (dataCount > 0) {
                        dataCount--;
                    }
                }, error 
            );
        }
         
        function error(response)
        {
            if (response.status == 503) {
                alert('服务器超时,请稍后重试。');
            }
        }
         
        function ajax(type, url, data, cbfOk, cbfError)
        {
            $.ajax({
                type: type,
                url: url,
                async: false,
                data: data,
                dataType: 'json',
                success: function(response)
                {
                    if (typeof cbfOK == 'function') {
                        return cbfOk(response);
                    }               
                    return true;
                },
                error:function(response)
                {
                    if (typeof cbfError == 'function') {
                        return cbfError(response);
                    }
                    return false;
                }
            });     
        }
    </script>
    0 0
相关问答

1

回答

jQuery Ajax 常用的方法是什么?

2021-11-07 11:58:35 189浏览量 回答数 1

1

回答

Jquery 的ajax方法在模态弹出窗口中不好使。

2016-07-06 10:41:02 1963浏览量 回答数 1

1

回答

JQuery中ajax不能解析json报错

2020-06-03 10:54:28 296浏览量 回答数 1

1

回答

jquery mobile如何实现AJAX请求? 400 报错

2020-06-03 16:37:51 423浏览量 回答数 1

1

回答

采用jquery 的ajax,提交程序出现两次,真奇怪? 400 报错

2020-06-02 17:17:04 229浏览量 回答数 1

1

回答

php ajax jquery城市联动获取select的ID遇到的问题?报错

2020-05-31 20:59:01 494浏览量 回答数 1

1

回答

后端302触发了jquery ajax的error事件? 400 报错

2020-06-01 10:44:42 739浏览量 回答数 1

1

回答

jQuery瀑布流 ajax加载动态数据问题 400 请求报错 

2020-05-30 23:02:04 358浏览量 回答数 1

1

回答

jquery中的ajax的请求出现问题

2016-07-14 16:58:18 2050浏览量 回答数 1

1

回答

jquery mobile ajax 请求,弹出提示框

2016-07-05 17:07:35 1919浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载