ajax请求之返回数据的顺序问题分析

本文实例分析了ajax请求之返回数据的顺序问题。分享给大家供大家参考,具体如下:

ajax请求一个url,php后端处理后,数组为如下格式:

代码如下:

$a = array( '-1'=> 10 ,'-3' => 2, '0' => '5' ,'-2' => 4);

然后使用php的asort函数对数组按照value进行升序排序后,如下:

代码如下:

$a = array('-3' => 2, '-2' => 4,'0' => '5', '-1'=> 10  );

前端ajax接收的返回值,仍然是无序的。

可能导致的原因为:因为键值是字符换,js对数据进行了重新排序处理

处理方案如下:

$i = 0;
foreach ($data as $k => $v) {
   $tmp[$i]['data'] = $v;
   $tmp[$i]['key'] = $k;
   $i++;
}

此时数据如下:

{
  "rows": [
    {
      "data": "2",
      "key": 0-3
    },
    {
      "data": "4",
      "key": -12
    },
    {
      "data": "5",
      "key": 0
    },
    {
      "data": "10",
      "key": -1
    }
  ]
}

ajax接收处理,数据正确。

希望本文所述对大家ajax程序设计有所帮助。

(0)

相关推荐

  • 解析ajax事件的调用顺序

    jquery的ajax请求方法: 复制代码 代码如下: $.ajax({            type: "GET",                dateType:"html",                url: "index.html",                error: function(msg) { alert("error"); },                complete: functi

  • Jquery ajax执行顺序 返回自定义错误信息(实例讲解)

    1.多个Ajax 在一个function中的执行顺序 由于Jquery中的Ajax的async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false就可以了. 复制代码 代码如下: function TestAjax(){            var UserName = $("#txtUserName").val();            $.ajax(            {                url: &quo

  • Ajax执行顺序流程及回调问题分析

    一个全局的变量var JsonData; 我这里有一个Ajax处理的方法: JScript code: 复制代码 代码如下: function GetJson(DataSourceName) { $.ajax({ type: "post", url: "Ajax/AjaxData.ashx?MethodName=" + DataSourceName, contentType: "application/json;", data: "&q

  • Jquery $.ajax函数外的一段代码的执行顺序

    今天遇到了一个很都疼的问题.在一个函数中调用了JQuery的异步函数$.ajax ,然后在$.ajax函数外之后又有一段Jquery 代码.每次都是在$.ajax之后的代码先执行. 在网上搜了许久 终于找到了原因.拿来和大家分享分享 免得以后忘记了. async:false var flag=true; //async:false代表只有在等待ajax执行完毕后才执行 $.ajax({url:"EmailCheck.ashx",async:false,data: {"emai

  • jquery中的ajax如何返回结果而非回调方式即为同顺序执行

    因为默认ajax是异步的,也就是在未响应到结果时不影响向下的执行.所以必须采用回调的方式来实现.这种方案效率更高. 如果非要返回结果的话,将ajax 中的参数 async 改为 false,即为同顺序执行,如下实现,即可返回到结果. 不过在非必要的情况下,不推荐此种做法 复制代码 代码如下: function(url,params){ var outdata; $.ajax({ type : "get", async:false, dataType:"json",

  • jquery $.ajax各个事件执行顺序

    1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.error 7.ajaxError (全局事件) 8.complete 9.ajaxComplete(全局事件) 10.ajaxStop(全局事件)

  • jquery中ajax函数执行顺序问题之如何设置同步

    JavaScript code 复制代码 代码如下: function existProduct(obj){ var productname = escape(obj.val()); $.getJSON("../product/searchProductByName.action",datat,function(data){ var falg; falg = data[0]['existproduct']; //falg返回为no 或yes, return falg; }); } fu

  • ajax请求之返回数据的顺序问题分析

    本文实例分析了ajax请求之返回数据的顺序问题.分享给大家供大家参考,具体如下: ajax请求一个url,php后端处理后,数组为如下格式: 复制代码 代码如下: $a = array( '-1'=> 10 ,'-3' => 2, '0' => '5' ,'-2' => 4); 然后使用php的asort函数对数组按照value进行升序排序后,如下: 复制代码 代码如下: $a = array('-3' => 2, '-2' => 4,'0' => '5', '-

  • ajax请求后台接口数据与返回值处理js的实例讲解

    ajax的代码,用的是jquery的 ajax: $.ajax({ url: "/test.php",//后台提供的接口 type: "post", //请求方式是post data:{"type":"1", //这是你要传给后台的data值 "t":"c4552111" }, dataType: "json", //数据类型是json型 success: funct

  • jQuery中ajax请求后台返回json数据并渲染HTML的方法

    html实例 <table border="0" class="restaurant_food" cellspacing="0" cellpadding="1"> <input type="text" name="dishes" value="" class="seek_product" placeholder="请输入

  • jQuery的Ajax接收java返回数据方法

    1.前端Ajax请求如下: $.ajax({ type : "post", //async:false, url : PATH + "/product/selectPicture.action", dataType : "json", success : function(data) { $.each(data,function(k,v){ alert(k +":"+ v); }); } }); 2 其中PATH在jsp页面中

  • 详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题

    业务上出现一个问题:如果连续对同一个接口发出请求,参数不同,有时候先请求的比后请求的返回数据慢,导致数据顺序混乱,或者数据被覆盖的问题,所以需要控制请求的顺序. 解决方法: 1.直接跟后台沟通,将所有参数放到数组里后台统一接收并返回所有数据再由前端进行数据的拆分使用. 2.对于出现返回的数据混乱问题. 假设场景: 页面中需要对三个部门请求对应的部门人员,三个部门人员的数据为一个二维数组,连续发送请求,但由于返回数据的顺序不定,导致数组中的数据顺序不是按照部门的顺序. 解决方法:使用promise

  • SpringBoot@Aspect 打印访问请求和返回数据方式

    目录 SpringBoot@Aspect 打印访问请求和返回数据 aspect:第一种方式 aspect:第二种方式 SpringBoot @Aspect注解详情 1.添加maven依赖注解 2.添加AOP类 3.设置切面点 4.配置前置通知 5.配置后置返回通知 6.后置异常通知 7.后置最终通知 8.环绕通知 SpringBoot@Aspect 打印访问请求和返回数据 为什么要用aspect, 使用aspect 可以使记录日志的功能面向切面,这样可以降低代码的耦合性.提供了两种方式对输入输出

  • Jquery通过ajax请求NodeJS返回json数据实例

    最近看了NodeJS相关的,在网上查了下结合AJAX的应用,感觉应用前景还是不错的.为什么用这个组合呢? 1.NodeJS不需要安装,拷贝过去就可以使用,而环境变量可以只配置在当前cmd窗口,运行方便. 2.通过HTML的ajax请求,可以实现在不同的服务器上,可跨域获取数据. 3.通信数据格式灵活,可以是xml.json.binary等,数据适合任何平台. 在说说我的环境,我使用的是公司提供的电脑,有很多限制,比如是域中电脑,操作权限低,无法安装任何软件,无法修改计算机配置,无法使用U盘等等.

  • 关于多个Ajax请求执行返回先后的问题示例探讨

    有时候在一个业务事件处理流程上,可能会遇到点击了一个按钮或者其他事件触发了一个动作 需要执行两个以上的Ajax请求,但是可能要顾虑到Ajax请求执行的先后顺序,有时候Ajax请求顺序出问题,会导致各种问题 例如现在有两个ajax事件,分别为ajax1 ,ajax2 一个叫做main的方法调用执行入口 1. function main(){ ajax1(data,callback); ajax2(data,callback); } 如果我们按照上面的方法去执行,表面上看似乎是让ajax1先执行,a

  • Spring MVC 中 AJAX请求并返回JSON的示例

    一.以ModelAndView的方式返回 先看下JavaScript代码: /** * 保存-同步(版本控制库) */ function saveSynchronizedVcHorse(obj) { var ss = $("#SynchronizedSelection div"); var cacheSelectAry = new Array() for(var i = 0; i < ss.length; i ++) { //alert(ss.eq(i).html()); //a

  • jQuery实现分页功能(含ajax请求、后台数据、附完整demo)

    需求分析 1)需要首页,末页功能 2)有点击查看上一页,下一页功能 3)页码到当前可视页码最后一页刷新页面 实现思路 也是分为三部分处理 1)点击首页,末页直接显示第一页或者最后一页内容,当前页面为第1页或者最后一页.隐藏首页或者末页按钮.demo 显示截图 首页状态 和 末页状态代码执行结果截图 2)点击可视页码截图 3)点击上一页或者下一页,,需要刷新页码状态时截图,昨天表示当前页码为7,右图是点击上一页,刷新页码时的状态 代码参数说明 <script src="js/jquery-1

随机推荐