GVKun编程网logo

jQuery getJSON按ID自动对我的数据进行排序(jquery根据id取值)

22

关于jQuerygetJSON按ID自动对我的数据进行排序和jquery根据id取值的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于getJSONJquery传JSON数据、ie下jque

关于jQuery getJSON按ID自动对我的数据进行排序jquery根据id取值的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于getJSON Jquery 传JSON 数据、ie下jquery.getJSON的缓存问题的处理方法_jquery、Jquery $.getJSON 在IE下的缓存问题解决方法_jquery、jquery $.getJSON()跨域请求_jquery等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

jQuery getJSON按ID自动对我的数据进行排序(jquery根据id取值)

jQuery getJSON按ID自动对我的数据进行排序(jquery根据id取值)

我有一个组合框,可在更改时触发jquery函数,它调用php脚本,该脚本从数据库中获取按名称而不是按ID(表城市)排序的结果,并创建一个具有ID和城市名称的json文件。该问题带有$
.getJSON(url,data)函数,它可以很好地检索所有json编码的数据,但似乎是通过id自动对数据进行排序

例如,如果php页面生成

id  name3   Dania Beach1   Miami2   Weston

jQuery getJSON之后,它按ID排序

id  name1   Miami2   Weston3   Dania Beach

有没有办法禁用排序?或如何按名称保存订单?

答案1

小编典典

这是一个关联数组:顺序无关紧要。以下JSON对象是等效的:

{    "3" : "Danie Beach",    "1" : "Miami",    "2" : "Weston"}{    "1" : "Miami",    "2" : "Weston",    "3" : "Danie Beach"}

如果需要排序,则应在JSON中嵌入一个数组:

{    "beaches" : [        {"key" : "3", "value" : "Danie Beach"},        {"key" : "1", "value" : "Miami"},        {"key" : "2", "value" : "Weston"}    ]}

用法示例:

jQuery.ajax({    ...    dataType: ''json'',    success: function(data) {        jQuery.each(data.beaches, function(i, beach) {            alert(i+'': beach[''+beach.key+''] = ''+beach.value);        });    }});

getJSON Jquery 传JSON 数据

getJSON Jquery 传JSON 数据

 

html 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>getJSON获取数据</title> 
<script type="text/javascript" src="jquery.min.js"></script> 
<style type="text/css"> 
#divframe{ border:1px solid #999; width:500px; margin:0 auto;} 
.loadTitle{ background:#CCC; height:30px;} 
</style> 
<script type="text/javascript"> 
$(document).ready(function (){    
            $.getJSON("userinfo.json",function(data){ 
            var $jsontip = $("#jsonTip"); 
            var strHtml = "";//存储数据的变量 
            //$jsontip.empty();清空内容 

            var arr =data.king;
            strHtml += "1:"+arr[0].name+"<br>"; 
             for(var i=0,length=arr.length;i<length;i++){
                 strHtml += "姓名:"+arr[i].name+"<br>"; 
                 strHtml += "性别:"+arr[i].sex+"<br>"; 
                 var arr0 = arr[i].email
                 for(var j=0,length=arr0.length;j<length;j++){
                     strHtml += "姓名:"+arr0[j].name+"<br>"; 
                     strHtml += "性别:"+arr0[j].sex+"<br>"; 
                     strHtml += "邮箱:"+arr0[j].email+"<br>"; 
                 }
                 strHtml += "<hr>" 
             }
            $jsontip.html(strHtml);//显示处理后的数据 
        }) 
    $("#btn").click(function(){ 

    }) 
});
</script> 
</head> 
<body> 
<div id="divframe"> 
<div> 
<input type="button" value="获取数据" id="btn"/> 
</div> 
<div id="jsonTip"> 
</div> 
</div> 
</body> 
</html> 

 

 

JSON 数据

{"king":[

"name":"张国立", 
"sex":"男", 
"email":[

"name":"张国立", 
"sex":"男", 
"email":"zhangguoli@123.com" 
}, 

"name":"张铁林", 
"sex":"男", 
"email":"zhangtieli@123.com",
"qq":"12345678" 
}, 

"name":"邓婕", 
"sex":"女", 
"email":"zhenjie@123.com" 

]
}, 

"name":"张铁林", 
"sex":"男", 
"email":[

"name":"张国立", 
"sex":"男", 
"email":"zhangguoli@123.com" 
}, 

"name":"张铁林", 
"sex":"男", 
"email":"zhangtieli@123.com",
"qq":"12345678" 
}, 

"name":"邓婕", 
"sex":"女", 
"email":"zhenjie@123.com" 

]
}, 

"name":"邓婕", 
"sex":"女", 
"email":[

"name":"张国立", 
"sex":"男", 
"email":"zhangguoli@123.com" 
}, 

"name":"张铁林", 
"sex":"男", 
"email":"zhangtieli@123.com",
"qq":"12345678" 
}, 

"name":"邓婕", 
"sex":"女", 
"email":"zhenjie@123.com" 

]

]
}

ie下jquery.getJSON的缓存问题的处理方法_jquery

ie下jquery.getJSON的缓存问题的处理方法_jquery


在项目中遇到一个问题,在火狐下,$.getJSON();请求数据一切正常,但是在IE下面,$.getJSON();只请求一次数据,第二次根本就不发送请求了,用fiddler抓取了才知道,第二次没有发送请求,改成了post就正常了

$.getJSON()存在缓存问题,如果其调用的url之前曾经调用过的话,回调函数就会直接在缓存里取得想要得值,而不是进入到后台

解决方法如下:

1、让每次调用的URL都不一样。

方法:在参数中加一个随机数

复制代码 代码如下:

$.getJSON("/Member/GetExercise.html", { id: $("#Wareid").val(), isBool: loop, random:
Math.random() }, function (data) });

复制代码 代码如下:

$.getJSON("/Member/GetExercise.html?random=Math.random", { id: $("#Wareid").val(),
isBool: loop,}, function (data) });

用new Date()也可以算是随机的URL

复制代码 代码如下:

?random=new Date().getTime()

2、将cache设为false

复制代码 代码如下:

$.ajax({
type:"GET",
url:''/Member/GetExercise.html'',
cache:false,
dataType:"json",
success:function (data){
alert(data);
}
});

Jquery $.getJSON 在IE下的缓存问题解决方法_jquery

Jquery $.getJSON 在IE下的缓存问题解决方法_jquery

在工作中主页实现ztree ztree的数据是后台返回的json对象

因为树是固定的所以每次刷新树

$.getJSON 的url都是相同的 问题来了 我修改 或者 新增树节点 然后刷新tree IE竟然毫无变化 在其他浏览器上面都OK

这让我纠结了

然后在网上搜索了一下资料发现 解决办法

解决办法:

Jquery 的 $.getJSON请求有一个缓存机制 就是在请求相同URL访问后台时候 他会直接从页面缓存的数据中取出来数据 而不是请求后台

所以我们要改变一个URL

这是我们的URL var url =“XXXX/XXX”

下面来一个 生成随机数的方法

复制代码 代码如下:

function GetRandomNum(Min,Max)
{
var Range = Max - Min;
var Rand = Math.random();
return(Min + Math.round(Rand * Range));
}

然后改变我们的URL
复制代码 代码如下:

var i=GetRandomNum(1,100);
url=url+“&random=”+i;

然后把URl穿进去就可以了 问题解决

jquery $.getJSON()跨域请求_jquery

jquery $.getJSON()跨域请求_jquery

1,同一域名下和其他的请求可以是一样的
js:

复制代码 代码如下:

var url="http://localhost:2589/a.ashx";
$(function(){
$.getJSON(url,function(data){
alert (data.Name);
})
});

服务器返回字符串:
{"Name":"loogn","Age":23}
2,不同域名下
js:
复制代码 代码如下:

var url="http://localhost:2589/a.ashx?callback=?";
$(function(){
$.getJSON(url,function(data){
alert (data.Name);
})
});

服务器返回字符串:
jQuery1706543070425920333_1324445763158({"Name":"loogn","Age":23})
返回的字符串就是一个调用一个叫“jQuery1706543070425920333_1324445763158” 的函数,参数是{"Name":"loogn","Age":23}。
其实这个很长的函数名是请求路径中callback=?的作用,我想应该是这样的:$.getJSON方法生成一个对回调方法的引用的名字,换掉?。上面请求会变成
http://localhost:2589/a.ashx?callback=jQuery1706543070425920333_1324445763158&_=1324445763194,所服务器回返json时要处理一下,如:
复制代码 代码如下:

string cb = context.Request["callback"];
context.Response.Write(cb + "(" + json + ")");

参数名callback也可换成jsoncallback,我想是怕冲突吧,jsoncallback应该优先检测,没有再检测callback(没测试!!)
?也可是具体的函数名,这样回调函数就不能是匿名的了,用?生成只是jQuery为我们的一般操作提供的一个便利。

今天的关于jQuery getJSON按ID自动对我的数据进行排序jquery根据id取值的分享已经结束,谢谢您的关注,如果想了解更多关于getJSON Jquery 传JSON 数据、ie下jquery.getJSON的缓存问题的处理方法_jquery、Jquery $.getJSON 在IE下的缓存问题解决方法_jquery、jquery $.getJSON()跨域请求_jquery的相关知识,请在本站进行查询。

本文标签: