介绍一下ajax后最好的返回结果的方式"Json"
2014-08-21 16:43
435 查看
我使用ajax好多年了,以往把请求交给asp或php处理完成之后往往是输出一个字符串,然后把这个字符串返回给客户端,用客户端的javascript对该字符串进行split.
偶尔也用xml,服务器端处理完之后生成xml再返回.
但是这些方式在客户端处理的时候都很麻烦.其实完全可以用json来做.因为json在客户端操作的时候感觉最灵活,看我下边的代码:
假如这个字符串是我从服务器端处理完各种操作之后输出给客户端的内容,从表面上看,这不过就是一个字符串,但是他却遵循了json的格式规定.如果要轉載本文請注明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不注明出處的人QQ9256114
'[{"name":"王强","age":20},{"name":"王海云","age":18}]'
我在客户端使用一个js变量来接收这个字符串
var str = '[{"name":"王强","age":20},{"name":"王海云","age":18}]';
然后把这个字符串转化成json
var JsonL=eval("("+str+")");//或var JsonL=new Function("return"+str)();
//转化后应该是:JsonL= [{"name":"王强","age":20},{"name":"王海云","age":18}];
//由此不难看出这个结构很像array,所以我们可以使用操作array的思路来操作该json
接下来就可以控制json内的元素输出了.
alert(JsonL[1].name);
for(var i=0;i<JsonL.length;i++){
for(var key in JsonL[i]){
alert("key:"+key+",value:"+JsonL[i][key]);
}
}
下边是一个比较复杂的json例子:
var JsonL=[
{"parent":1,"id":11,"tit":"a1","lst":["9|a11","7|a12","5|a13","4|a14","2|a15"]},
{"parent":2,"id":12,"tit":"a2","lst":["9|a11","7|a12","5|a13","4|a14"]},
{"parent":3,"id":13,"tit":"a3","lst":["9|a11","7|a12","5|a13"]},
];
alert(JsonL[0].id);
alert(JsonL.length);
alert(JsonL[0].lst.length);
alert(JsonL[1].parent);
//全部输出:
for(var i=0;i<JsonL.length;i++){
for(var key in JsonL[i]){
alert("鍵名:"+key+",值:"+JsonL[i][key]);
}
}
//部分输出:
for(var i=0;i<JsonL[0].lst.length;i++){
alert("值:"+JsonL[0].lst[i]);
}
偶尔也用xml,服务器端处理完之后生成xml再返回.
但是这些方式在客户端处理的时候都很麻烦.其实完全可以用json来做.因为json在客户端操作的时候感觉最灵活,看我下边的代码:
假如这个字符串是我从服务器端处理完各种操作之后输出给客户端的内容,从表面上看,这不过就是一个字符串,但是他却遵循了json的格式规定.如果要轉載本文請注明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不注明出處的人QQ9256114
'[{"name":"王强","age":20},{"name":"王海云","age":18}]'
我在客户端使用一个js变量来接收这个字符串
var str = '[{"name":"王强","age":20},{"name":"王海云","age":18}]';
然后把这个字符串转化成json
var JsonL=eval("("+str+")");//或var JsonL=new Function("return"+str)();
//转化后应该是:JsonL= [{"name":"王强","age":20},{"name":"王海云","age":18}];
//由此不难看出这个结构很像array,所以我们可以使用操作array的思路来操作该json
接下来就可以控制json内的元素输出了.
alert(JsonL[1].name);
for(var i=0;i<JsonL.length;i++){
for(var key in JsonL[i]){
alert("key:"+key+",value:"+JsonL[i][key]);
}
}
下边是一个比较复杂的json例子:
var JsonL=[
{"parent":1,"id":11,"tit":"a1","lst":["9|a11","7|a12","5|a13","4|a14","2|a15"]},
{"parent":2,"id":12,"tit":"a2","lst":["9|a11","7|a12","5|a13","4|a14"]},
{"parent":3,"id":13,"tit":"a3","lst":["9|a11","7|a12","5|a13"]},
];
alert(JsonL[0].id);
alert(JsonL.length);
alert(JsonL[0].lst.length);
alert(JsonL[1].parent);
//全部输出:
for(var i=0;i<JsonL.length;i++){
for(var key in JsonL[i]){
alert("鍵名:"+key+",值:"+JsonL[i][key]);
}
}
//部分输出:
for(var i=0;i<JsonL[0].lst.length;i++){
alert("值:"+JsonL[0].lst[i]);
}
相关文章推荐
- 介绍一下ajax后最好的返回结果的方式"Json"
- ajax请求返回json字符串解析方式
- AJAX提交到Handler.ashx一般处理程序返回json数据 (字符串拼接方式)
- ajax返回的json数组处理方式
- AJAX三种返回查询结果的三种方式
- js 无参数、有参数的webservice通信方法 XMLHttpRequest和 $.ajax方式汇总及返回值为json问题
- struts2下通过ajax返回json的两种方式
- 解决在 使用 AjaxFileUploder 插件时,不能获取返回的 json 结果数据
- ajax返回JSON时的处理方式
- 通过Ajax---SpringMVC返回json字符串(非注解方式)
- struts2下通过ajax返回json的两种方式
- Struts+AJAX+JSON配合使用,获取与返回结果
- jquery中的ajax如何返回结果而非回调方式即为同顺序执行
- json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)
- 用 ajaxFileUpload 出现的问题:has no method 'handleError'、返回json数据提示下载
- Struts JSON方式 提交数据 检查后返回检查结果
- 浏览器[IE] Ajax Struts Json返回json字符串,解析不了 提示保存或下载 解决方式
- Struts2+json实现ajax,返回输出结果不正确,含有反斜杠和双引号(\")
- AJAX提交到Handler.ashx一般处理程序返回json数据 (字符串拼接方式)
- @RequiresPermissions 控制权限的异常处理以及Ajax方式请求时返回json