jquery下 json的解析
折腾一天,回家测试结果好好的,单位里就出问题!气氛,贴上代码,前台代码是 get与getJSON不同用法,一个需要eval下,另一个不需要把它变成对象。记一笔
需要变成对象的写法
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
using System;2
using System.Web;3

4

public 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
}
前台:
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>
