日期:2014-05-16  浏览次数:20645 次

ajax接收不到action的值!求助!
我们刚学习了自定义MVC框架。ajax遇到问题
页面接受不到action的值。

if(XMLHTTPResult.readyState==4 && XMLHTTPResult.status==200){
这一行代码也不走。

求高手援助。。

js代码

JScript code
function getStreet(){
    var district = document.getElementById("district_id");
    var url = "getStreet.action?districtId="+district.value;
    createXmlHttpResult();
    XMLHTTPResult.open("GET", url,true);
    XMLHTTPResult.onreadystatechange=backRoll;
    XMLHTTPResult.send(null);
}

function backRoll(){
    if(XMLHTTPResult.readyState==4){
        if(XMLHTTPResult.status==200){
            alert(XMLHTTPResult.responseText);        
                   }
    }
        

}



mystruts.xml代码
 
XML code
 <action name="getStreet" class="com.accp.houserent.action.GetStreetAction">
     </action>


action 代码
Java code
public String execute(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        // TODO Auto-generated method stub
        String districtId = request.getParameter("districtId");
        CommonBiz commonBiz = new CommonBizImpl();
        District district =commonBiz.getEntity(District.class,Integer.parseInt(districtId));
        response.setContentType("html/text;charset=gbk;");
        PrintWriter out = response.getWriter();
        String str  = null;
        for (Iterator<Street> ite = district.getStreets().iterator(); ite.hasNext();) {
            Street temp_street  = ite.next();
            if (ite.hasNext()) {
                str+=temp_street.getStreetName()+"-";
            }else{
                str+=temp_street.getStreetName();
            }
        }
        out.print(str);
        return null;
    }





------解决方案--------------------
用浏览器单独直接访问 getStreet.action?districtId=1 看看显示的值对不对
------解决方案--------------------
JScript code
function backRoll(){
    if(XMLHTTPResult.readyState==4){
        if(XMLHTTPResult.status==200){
            alert(XMLHTTPResult.responseText);        
                   }
        else alert('发生错误:'+XMLHTTPResult.status+'\n'+XMLHTTPResult.responseText)//加这句看看什么问题
    }
        

}