后台输出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数据,然后遍历使用。