关于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取值)
- getJSON Jquery 传JSON 数据
- ie下jquery.getJSON的缓存问题的处理方法_jquery
- Jquery $.getJSON 在IE下的缓存问题解决方法_jquery
- jquery $.getJSON()跨域请求_jquery
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 数据
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
在项目中遇到一个问题,在火狐下,$.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) });