Ajax和Jquery学习总结(2)——JSON格式的数据
2013-08-02 23:10
344 查看
JSON格式的数据是Ajax和Jquey可以处理的JS的数据:其格式如下:
var people ={
"programmers": [
{ "firstName": "Brett", "email": "brett@newInstance.com" },
{ "firstName": "Jason", "email": "jason@servlets.com" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
],
"authors": [
{ "firstName": "Isaac", "genre": "science fiction" },
{ "firstName": "Tad", "genre": "fantasy" },
{ "firstName": "Frank", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "instrument": "guitar" },
{ "firstName": "Sergei", "instrument": "piano" }
]};
window.alert(people.programmers[1].firstName);
window.alert(people.musicians[1].instrument);
全部都是key:value的形式比较易于理解。不过JSON数据在使用时基本上都是先从数据库中提取出来把他封装到list中,这里就不得不提其使用的方法了。
//将取出的数据转化为Json格式
JSONArray jsonArray=JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
out.println(jsonArray.toString());
将服务器短的数据写回给浏览器,然后再客户端来接收;最典型的例子当属省市联动的案例实现,其中使用了与Struts的整合:完整的代码奉上:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test01.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="./js/jquery-1.4.2.js"></script>
</head>
<body>
<select id="province" name="province">
<option value="">请选择....</option>
</select>
<select id="city" name="city">
<option value="">请选择.....</option>
</select>
<select id="county" name="county">
<option value="">请选择.....</option>
</select>
</body>
<script language="JavaScript">
//页面一起动就加载
$(document).ready(function(){
//从数据库中查询省的信息显示在select id="province" 中
$.post("listAction.do?method=listProvince",function(data,textStatus){
//alert(data);
var dataObj=eval("("+data+")");
for(var i=0; i<dataObj.length; i++){
var pid=dataObj[i].pid;
var pname=dataObj[i].pname;
$option=$("<option></option>");
$option.attr("value",pid);
$option.text(pname);
$("#province").append($option);
}
});
//省份的变化引起城市的变化
$("#province").change(function(){
var pid=this.value;
$.post("listAction.do?method=listCity",{pid:pid},function(data,textStatus){
// //清空城市下的option选项保留请选择
// 方法一
// $("#city option").each(function(index,domEle){
// if(index!=0){
// $(this).remove();//自己清除自己
// }
//
// });
//方法二 批量删除
$("#city option[value!='']").remove();
//启动时保证城市没选时县城数据为空
$("#county option[value!='']").remove();
//alert(data);
var dataObj=eval("("+data+")");
for(var i=0; i<dataObj.length; i++){
var cid=dataObj[i].cid;
var cname=dataObj[i].cname;
$option=$("<option></option>");
$option.attr("value",cid);
$option.text(cname);
$("#city").append($option);
}
});
});
//城市的变化引起县城的变化
$("#city").change(function(){
var cid=this.value;
$.post("listAction.do?method=listCountry",{cid:cid},function(data,textStatus){
//清空县下选项
//方法二 批量删除
$("#county option[value!='']").remove();
//alert(data);
var dataObj=eval("("+data+")");
for(var i=0; i<dataObj.length; i++){
var tid=dataObj[i].tid;
var tname=dataObj[i].tname;
$option=$("<option></option>");
$option.attr("value",tid);
$option.text(tname);
$("#county").append($option);
}
});
});
});
</script>
</html>
这里的Struts的控制器就不写了
var people ={
"programmers": [
{ "firstName": "Brett", "email": "brett@newInstance.com" },
{ "firstName": "Jason", "email": "jason@servlets.com" },
{ "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }
],
"authors": [
{ "firstName": "Isaac", "genre": "science fiction" },
{ "firstName": "Tad", "genre": "fantasy" },
{ "firstName": "Frank", "genre": "christian fiction" }
],
"musicians": [
{ "firstName": "Eric", "instrument": "guitar" },
{ "firstName": "Sergei", "instrument": "piano" }
]};
window.alert(people.programmers[1].firstName);
window.alert(people.musicians[1].instrument);
全部都是key:value的形式比较易于理解。不过JSON数据在使用时基本上都是先从数据库中提取出来把他封装到list中,这里就不得不提其使用的方法了。
//将取出的数据转化为Json格式
JSONArray jsonArray=JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
out.println(jsonArray.toString());
将服务器短的数据写回给浏览器,然后再客户端来接收;最典型的例子当属省市联动的案例实现,其中使用了与Struts的整合:完整的代码奉上:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test01.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="./js/jquery-1.4.2.js"></script>
</head>
<body>
<select id="province" name="province">
<option value="">请选择....</option>
</select>
<select id="city" name="city">
<option value="">请选择.....</option>
</select>
<select id="county" name="county">
<option value="">请选择.....</option>
</select>
</body>
<script language="JavaScript">
//页面一起动就加载
$(document).ready(function(){
//从数据库中查询省的信息显示在select id="province" 中
$.post("listAction.do?method=listProvince",function(data,textStatus){
//alert(data);
var dataObj=eval("("+data+")");
for(var i=0; i<dataObj.length; i++){
var pid=dataObj[i].pid;
var pname=dataObj[i].pname;
$option=$("<option></option>");
$option.attr("value",pid);
$option.text(pname);
$("#province").append($option);
}
});
//省份的变化引起城市的变化
$("#province").change(function(){
var pid=this.value;
$.post("listAction.do?method=listCity",{pid:pid},function(data,textStatus){
// //清空城市下的option选项保留请选择
// 方法一
// $("#city option").each(function(index,domEle){
// if(index!=0){
// $(this).remove();//自己清除自己
// }
//
// });
//方法二 批量删除
$("#city option[value!='']").remove();
//启动时保证城市没选时县城数据为空
$("#county option[value!='']").remove();
//alert(data);
var dataObj=eval("("+data+")");
for(var i=0; i<dataObj.length; i++){
var cid=dataObj[i].cid;
var cname=dataObj[i].cname;
$option=$("<option></option>");
$option.attr("value",cid);
$option.text(cname);
$("#city").append($option);
}
});
});
//城市的变化引起县城的变化
$("#city").change(function(){
var cid=this.value;
$.post("listAction.do?method=listCountry",{cid:cid},function(data,textStatus){
//清空县下选项
//方法二 批量删除
$("#county option[value!='']").remove();
//alert(data);
var dataObj=eval("("+data+")");
for(var i=0; i<dataObj.length; i++){
var tid=dataObj[i].tid;
var tname=dataObj[i].tname;
$option=$("<option></option>");
$option.attr("value",tid);
$option.text(tname);
$("#county").append($option);
}
});
});
});
</script>
</html>
这里的Struts的控制器就不写了
相关文章推荐
- jquery下php与ajax的互传数据(json格式)自我总结
- jQuery中使用Ajax获取JSON格式数据
- 黑马程序员_学习日记73_725ASP.NET(禁用Cookie、ASP.NET中的重要对象、JavaScript实现AJAX、两种Json格式的序列化方法、JQuery中实现ajax的五种方法)
- jQuery使用Ajax操作JSON格式数据说明
- jQuery调用ajax获取json格式数据
- json格式数据取得1- 直接从client读取 (jquery+ajax实现)
- Jquery Ajax+.ashx Json数据格式
- FireFox中使用JQuery的ajaxfileupload插件返回JSON格式数据提示保存的解决方法。
- jQuery、Ajax,DataTable数据如何转换成Json格式
- 学习笔记--Ajax:JSON格式返回数据
- ThinkPHP以jquery传送json数据格式的方式实现ajax请求
- 运用jQuery通过AJAX向后台请求拼装json数据格式,并初始化目录树TreeView
- jQuery中使用Ajax获取JSON格式数据示例代码
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- [ajax 学习笔记] json数据格式
- JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
- jQuery中使用Ajax获取JSON格式数据示例代码
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- jQuery学习笔记--ajax查询,jQuery解析返回的json数据 详解
- 使用ajax获取JSON数据的jQuery代码的格式