我们刚学习了自定义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)//加这句看看什么问题 } }