六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 38|回复: 0

ajax 异步加载数据

[复制链接]

升级  32%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
16
 楼主| 发表于 2013-1-29 11:42:29 | 显示全部楼层 |阅读模式
function changePhoneType(obj1ID,obj2ID){

        var objArea = document.getElementById(obj1ID);
var id = objArea.value;
    var url = "$common.root()/page/downClient.do?method=getPhoneType&phoneBrandId="+id;
        var myAjax  = new Ajax.Request(url, {method: 'get',onComplete: showesay});

}

//组装机型下拉框
function showesay(dataResponse) {   
    if(dataResponse.status==200)
{
            var objTown = document.getElementById('phoneType');
            var i;
            for(i = objTown.options.length ; i >= 0 ; i--){
                    objTown.options[i] = null;
            }
            objTown.options[0] = new Option("选择机型");
            objTown.options[0].value = "";

    var data=eval('('+dataResponse.responseText+')');
   
    for(var i=0;i<data.length;i++){
                    var op= document.createElement("option");   
                    op.text = data[i].tname;   
                    op.value = data[i].cname;   
                    objTown.options.add(op);   
    }
    }

    else{
    alert("查询手机品牌失败!");
    }
   
}  



if (phoneTypeList != null) {
json.append("[");
int i=1;
for (Object o : phoneTypeList) {
PhoneType pType = (PhoneType) o;
if(i==1){
json.append("{\"tname\":\""+pType.getPhoneBrandCnName()+" "+pType.getPnoneTypeName()+"\",\"cname\":\""+pType.getClientName()+"\"}");
i++;
}
else{
json.append(",{\"tname\":\""+pType.getPhoneBrandCnName()+" "+pType.getPnoneTypeName()+"\",\"cname\":\""+pType.getClientName()+"\"}");
}

}
json.append("]");
}


注意两个地方:
一、在action里生成数据的要符合json格式[{"x":"y"},{"z","a"}];直接用out或者response.getWrite().print(json.toStirng());且在struts1.1的findMapping中直接返回null
二、在前端直接eval('('+dataResponse.responseText+')'),来组织js对象数据,然后拼装需要的数据。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表