用jquery的ajax
$.post("xxx.action", { 参数名1: "值1", 参数名2: "值2" },
function(data){
//data为返回的json字符串,这里转对象
var json = eval("(" + data + ")");
//遍历json
for(var j in json) {
var key = j;
var value = json[j];
}
});
json字符串怎么来
JSONObject json = new JSONObject();
json.put("参数名1", "值1");
json.put("参数名2", "值2");
return json.toJSONString();
这里需要用到一个jar包fastjson.jar 已经给你放到附件里面
var data=[{'a':1,'b':'c'},{'a':2,'b':'d'}];
var json = JSON.parse(data);
for(var i=0;i
}
操作就随意了么,试试...前几天从后天往前台传json把我折腾残了...
这是ajax做的,里面报错 获取json,转化成对象,遍历
function getclass(obj) {
loadtypesubject();
districtid = document.getElementById("districtId").value;
schoolid = document.getElementById("schoolId").value;
createXmlhttpRequest();
这里发送ajax请求
xmlhttp.open("get",
"multlink!getClassMessage?database=20130227155607281&districtid="
+ districtid + "&schoolid=" + schoolid + "&gradeid="
+ obj.value, true);
xmlhttp.send();
xmlhttp.onreadystatechange = statusClassChange;
}
// proxy loading the class message , this is callback function
function statusClassChange() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
selectClass = document.getElementById("classId");
selectSubject = document.getElementById("paperId");
deleteOption(selectClass);
selectSubject.options.length = 0 ;
selectSubject.options.add(new Option("--总成绩--", "allmark"));
这里获取json的值
flagmessage = xmlhttp.responseText;
这里把json转换成对象
smobj = eval(flagmessage);
这里遍历对象属性
for ( var i = 0; i < smobj.length; i++) {
flagname = smobj[i].classname;
flagid = smobj[i].classid;
option = createOption(flagid, flagname);
selectClass.appendChild(option);
}
}
}
这是一个N级联动的部分代码 ,应该能解决不的部分问题,这些代码本身没问题的,不会误导你