ajax请求之返回数据的顺序问题分析_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程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索返回数据
, ajax请求
顺序
多个ajax 顺序请求、ajax请求返回html页面、ajax请求返回json数据、ajax请求action返回值、php返回ajax请求,以便于您获取更多的相关知识。

时间: 2024-10-27 20:23:08

ajax请求之返回数据的顺序问题分析_AJAX相关的相关文章

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

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

Ajax请求中async:false/true的作用分析_AJAX相关

本文实例分析了Ajax请求中async:false/true的作用.分享给大家供大家参考,具体如下: test.html代码: <a href="javascript:void(0)" onmouseover="testAsync()"> asy.js代码: function testAsync(){ var temp; $.ajax({ async: false, type : "GET", url : 'tet.php', com

ajax处理服务器返回的三种数据类型方法_AJAX相关

其原理很简单,结构上基本不变,只是改变处理返回数据的方式. 1.Text/HTML格式 这种返回类型处理很简单,直接就当作字符串用就行了.为了方便使用,封装成如下函数: /** * @function 利用ajax动态交换数据(Text/HTML格式) * @param url 要提交请求的页面 * @param jsonData 要提交的数据,利用Json传递 * @param getMsg 这个函数可以获取到处理后的数据 */ function ajaxText(url,jsonData,g

jquery访问servlet并返回数据到页面的方法_AJAX相关

本文实例讲述了jquery访问servlet并返回数据到页面的方法.分享给大家供大家参考.具体实现方法如下: 1. servlet:AjaxServlet.java如下: 复制代码 代码如下: package com.panlong.servlet;  import java.io.IOException;  import java.io.PrintWriter;  import java.net.URLDecoder;  import javax.servlet.ServletExceptio

IE下jquery ajax无法获得最新数据的问题解决(IE缓存)_AJAX相关

今天修改一个bug,利用ajax查询数据,在谷歌浏览器下可以获取到最新数据,而在IE中获得是旧数据,无法获得最新的数据,经查资料,才发现时IE缓存再作怪. 发现此ajax请求用的get方式,每次请求的URL一模一样,IE浏览器有个特殊的地方,如果每次请求的URL一样时,就会拿出缓存中已有的数据显示在页面上,并不会再次去查询数据库,所以每次显示的都是旧数据. 解决办法: 那就有思路了,我们可以让它每次请求的URL不一样,可以加一个参数,而且这个参数的值每次都不一样,时间戳最好不过了. 复制代码 代

关于Ajax请求中传输中文乱码问题的解决方案_AJAX相关

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

AJAX使用get与post模式的区别分析_AJAX相关

本文实例分析了AJAX使用get与post模式的区别.分享给大家供大家参考.具体分析如下: 如果是get 模式的请求,则将传递参数通过URL 地址发送到服务器端: 如果是post 模式的请求,则将传递参数通过send( ) 方法发送到服务器端(并且必须设置请求文件头): post 模式的代码如下: <script type="text/javascript"> <!-- var queryString = "firstName=xugang&birt

extjs-用Extjs提交表单后,请求有返回数据,但success函数的action里取不到返回结果

问题描述 用Extjs提交表单后,请求有返回数据,但success函数的action里取不到返回结果 /** * 打开数据项导入窗口 */ function openDataItemImportWnd() { Ext.create('Ext.window.Window', { title: '导入数据项', autoHeight: true, width: 400, modal: true, layout: 'fit', items: { xtype: 'form', method : 'POS

关于ajax以及struts2返回数据的问题

问题描述 关于ajax以及struts2返回数据的问题 在struts2框架下,可以向前台直接返回数据(感觉上是这样的), 但是在使用ajax技术中,为什么不能直接返回数据(对象)呢? 例如:从后台传一个list集合 2016/05/24 我已经成功使用struts2框架使用ajax从后端向前台传递了一个集合,直接将集合对象放在 "result type='json' name='shift' param name='root' pssList param result" 这样就可以了