后台输出json:
var text = eval("("+text+")");
2 for(varkey in text)
3 {
4 varvalue = text[key];
5 }
20 //
alert(innercode);
21
$('select#cgt_id').append(innercode);
22
}
23 //
alert(add_item_info);
24
}
25 }
26 xmlhttp.send(url);
1 $arr= array('0'=>array('id'=>'11',
'title'=>112),'2'=>array('id'=>33, 'title'=>44));
2 echo json_encode($arr);
2
我一般在后台返回的数据都转换成数组返回,好像也可以用Object返回,当然没有试过,其实我觉得XML能同样达到目的,不过json比较方便么。。一个字符串搞定
然后看前台遍历json代码(对于一维数组更合适):
1 vartext = xmlhttp.responseText;
2
3
4
5
还有一个对于上面的二维数组来说,用js遍历:
1 var text = xmlhttp.responseText;
2 text = eval("("+text+")");
3 for(var i = 0; i < text.length; i++){
4 var id = text[i].id;
5 var title = text[i].title;
6 }
2
3
4
5
6
然后贴上我一部分代码:
01 var xmlhttp;
02 if (window.XMLHttpRequest) {
03
xmlhttp = new XMLHttpRequest();
04 }else{
05
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
06 }
07 var url = "cgo_id="+encodeURIComponent(checkCgo);
08 //
alert(url);
09 xmlhttp.open("POST","additemresult.php",true);
10 xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
11 xmlhttp.onreadystatechange = function() {
12
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
13
var add_item_info = xmlhttp.responseText;
14
var cgt = eval("("+add_item_info+")");
15 //
eval_r("var cgt = "+add_info);
16
17
for (var key in cgt) {
18
var Value = cgt[key];
19
var innercode = "
+key+">"+Value+"";02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
我先用ajax得到后台additemresult.php返回的json数据,然后遍历使用。