闲话:突然发现已有半年没有写博了,一是毕业设计,二是找工作,可最重要的是没激情。实习的时候只想着完成任务,下班就想着何时能跑路,回到家了只想着跟同学闲扯玩游戏,周末几乎是没的清闲在家的,要么同学朋友弟弟过来玩,要么就跟着同学出去玩,也不知道玩的什么,只知道很累,只有一种感觉,在家要比工作累的多的多!现在公司定了,住处也妥了,网也OK了,一切都比较满意。虽然一个人住,没人说说话聊聊天,难免会有些孤单,但也可以安心地学习业务和技术。有位专业老师说过一句话,印象很深刻,“技术学的好与不好,就看毕业后的一两年,以后再想有所超越是很难的!”所以我一定要习惯这种生活,做一个奋斗++的boy!
切入正题:折腾了一天的AJAX访问服务器端JSON数据,早上把所有问题都给解决了,下面就一一讲述。
js代码如下:
ajax发送请求源码
1 $(document).ready(function(){
2 $.ajax({
3 type:"get",
4 url:"JsonHandler.ashx",
5 dataType:"json",
6 success:function( jsonText ){
7 //var jsonObj=eval("("+jsonText+")");
8 //alert(jsonObj.Name);
9 $("#content").text(jsonText.Color+"\tOKKK");
10 },
11 error:function(){
12 $("#content").text("error");
13 }
14 });
15 });
网上很多资料都说要对获取到的JSON数据进行Eval,可我Eval后浏览器却不能正常解析,见注释部分,firefox提示如下错误:missing ] after element list ,让我郁闷了好久。这JSON数据是否进行Eval,要该怎么判断,若哪位大侠知道,望相告!
ashx文件源码如下:
ashx文件源码
1 public void ProcessRequest (HttpContext context) {
2 Computer computer = new Computer();
3 computer.Name = "lenovo";
4 computer.Color = "black";
5 computer.Price = 5000;
6 string jsonString = JosnHelper.JsonSerializer<Computer>(computer);
7 context.Response.ClearContent();
8 context.Response.ContentType = "application/json";
9 context.Response.Write(jsonString);
10 context.Response.End();
11 }
在ashx文件里有这样一行代码:
string jsonString = JosnHelper.JsonSerializer<Computer>(computer);
这是对象序列化,也容易理解,见下图:
参考序列化:http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html
JSON官方:http://www.json.org/json-zh.html