jquery下 json的解析
折腾一天,回家测试结果好好的,单位里就出问题!气氛,贴上代码,前台代码是 get与getJSON不同用法,一个需要eval下,另一个不需要把它变成对象。记一笔
需要变成对象的写法
Code
1 function LoadCityData() {
2 //alert("ddd")
3 $("#ddlCityName").empty();
4 $.get(
5 "Handler.ashx",
6 { name: "test", age: 20 },
7
8 function(json) {
9
10 $("#ddlCityName")[0].options.add(new Option("城市", -1));
11
12 var dataObj = eval("(" + json + ")"); //
13 $.each(dataObj.root, function(i, n) {
14 // alert(json.root);
15 var item = new Option(n.name, n.value)
16 $("#ddlCityName")[0].options.add(item)
17 })
18 })
19 };
1 function LoadCityData() {
2 //alert("ddd")
3 $("#ddlCityName").empty();
4 $.get(
5 "Handler.ashx",
6 { name: "test", age: 20 },
7
8 function(json) {
9
10 $("#ddlCityName")[0].options.add(new Option("城市", -1));
11
12 var dataObj = eval("(" + json + ")"); //
13 $.each(dataObj.root, function(i, n) {
14 // alert(json.root);
15 var item = new Option(n.name, n.value)
16 $("#ddlCityName")[0].options.add(item)
17 })
18 })
19 };
后台:
Code
1using System;
2using System.Web;
3
4public class Handler : IHttpHandler {
5
6 public void ProcessRequest (HttpContext context) {
7 context.Response.ContentType = "text/plain";
8
9 string data="{ root: [ {name:'1',value:'0'}, {name:'6101',value:'西安市'},{name:'6102',value:'铜川市'}, {name:'6103',value:'宝鸡市'}, {name:'6104',value:'咸阳市'}, {name:'6105',value:'渭南市'}, {name:'6106',value:'延安市'}, {name:'6107',value:'汉中市'}, {name:'6108',value:'榆林市'}, {name:'6109',value:'安康市'}, {name:'6110',value:'商洛市'} ] }";
10
11
12 context.Response.Write(data);
13 }
14
15 public bool IsReusable {
16 get {
17 return false;
18 }
19 }
20
21}
1using System;
2using System.Web;
3
4public class Handler : IHttpHandler {
5
6 public void ProcessRequest (HttpContext context) {
7 context.Response.ContentType = "text/plain";
8
9 string data="{ root: [ {name:'1',value:'0'}, {name:'6101',value:'西安市'},{name:'6102',value:'铜川市'}, {name:'6103',value:'宝鸡市'}, {name:'6104',value:'咸阳市'}, {name:'6105',value:'渭南市'}, {name:'6106',value:'延安市'}, {name:'6107',value:'汉中市'}, {name:'6108',value:'榆林市'}, {name:'6109',value:'安康市'}, {name:'6110',value:'商洛市'} ] }";
10
11
12 context.Response.Write(data);
13 }
14
15 public bool IsReusable {
16 get {
17 return false;
18 }
19 }
20
21}
前台:
Code
1<html xmlns="http://www.w3.org/1999/xhtml">
2<head runat="server">
3 <title></title>
4
5 <script src="jquery-1.3.2-vsdoc2.js" type="text/javascript"></script>
6
7 <script>
8 $(document).ready(function() {
9
10 $("#ddlProvinceName").unbind("change").change(function() {
11
12 LoadCityData();
13 })
14
15
16
17 });
18
19
20 function LoadCityData() {
21 //alert("ddd")
22 $("#ddlCityName").empty();
23 $.getJSON(
24 "Handler.ashx",
25 { name: "test", age: 20 },
26
27 function(json) {
28
29 $("#ddlCityName")[0].options.add(new Option("城市", -1));
30 $.each(json.root, function(i, n) {
31 alert(json.root[i]);
32 var item = new Option(n.name, n.value)
33 $("#ddlCityName")[0].options.add(item)
34 })
35 })
36 };
37
38
39
40
41
42
43 </script>
44</head>
45<body>
46 <form id="form1" runat="server">
47 <div>
48 <select id="ddlProvinceName">
49 <option value="1">1</option>
50 <option value="1">1</option>
51 <option value="1">5</option>
52 <option value="1">1</option>
53 <option value="1">2</option>
54 <option value="1">4</option>
55 <option value="1">1</option>
56 <option value="1">1</option>
57 <option value="1">6</option>
58 </select>
59
60 <select id="ddlCityName">
61 </select>
62 </div>
63 </form>
64</body>
65</html>
1<html xmlns="http://www.w3.org/1999/xhtml">
2<head runat="server">
3 <title></title>
4
5 <script src="jquery-1.3.2-vsdoc2.js" type="text/javascript"></script>
6
7 <script>
8 $(document).ready(function() {
9
10 $("#ddlProvinceName").unbind("change").change(function() {
11
12 LoadCityData();
13 })
14
15
16
17 });
18
19
20 function LoadCityData() {
21 //alert("ddd")
22 $("#ddlCityName").empty();
23 $.getJSON(
24 "Handler.ashx",
25 { name: "test", age: 20 },
26
27 function(json) {
28
29 $("#ddlCityName")[0].options.add(new Option("城市", -1));
30 $.each(json.root, function(i, n) {
31 alert(json.root[i]);
32 var item = new Option(n.name, n.value)
33 $("#ddlCityName")[0].options.add(item)
34 })
35 })
36 };
37
38
39
40
41
42
43 </script>
44</head>
45<body>
46 <form id="form1" runat="server">
47 <div>
48 <select id="ddlProvinceName">
49 <option value="1">1</option>
50 <option value="1">1</option>
51 <option value="1">5</option>
52 <option value="1">1</option>
53 <option value="1">2</option>
54 <option value="1">4</option>
55 <option value="1">1</option>
56 <option value="1">1</option>
57 <option value="1">6</option>
58 </select>
59
60 <select id="ddlCityName">
61 </select>
62 </div>
63 </form>
64</body>
65</html>