ajax调用不到SSH框架中的action 15
ajax部分:varurl="login3";xmlHttp.open("GET",url,true);xmlHttp.onreadystatechange=loginC...
ajax部分:var url = "login3";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = loginCallback;
xmlHttp.send(null);
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
alert(xmlHttp.responseXML);
}
一些配置:struts.xml <action name="login3" class="loginAction3">
<result></result></action>
applicationContext_action.xml <bean id="loginAction3" class="com.Demo.ssh.LoginAction3" scope="prototype">
<property name="uDao" ref="userDao"></property></bean>
为什么其中alert(xmlHttp.responseXML);一直显示为null?怀疑是url路径有问题,该怎么改?
抱歉没写全..
function loginCallback() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
alert(xmlHttp.responseXML);
}else alert("xmlHttp.status ="+xmlHttp.status);
}else alert("xmlHttp.readyState ="+xmlHttp.readyState);
}
另外在LoginAction3.java中有:
public String execute() throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
String res = "";
String message = "123";
res = "<message>" + message + "</message>";
PrintWriter out = response.getWriter();
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
out.println("<response>");
out.println(res);
out.println("</response>");
out.close();
return null;
} 展开
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = loginCallback;
xmlHttp.send(null);
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
alert(xmlHttp.responseXML);
}
一些配置:struts.xml <action name="login3" class="loginAction3">
<result></result></action>
applicationContext_action.xml <bean id="loginAction3" class="com.Demo.ssh.LoginAction3" scope="prototype">
<property name="uDao" ref="userDao"></property></bean>
为什么其中alert(xmlHttp.responseXML);一直显示为null?怀疑是url路径有问题,该怎么改?
抱歉没写全..
function loginCallback() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
alert(xmlHttp.responseXML);
}else alert("xmlHttp.status ="+xmlHttp.status);
}else alert("xmlHttp.readyState ="+xmlHttp.readyState);
}
另外在LoginAction3.java中有:
public String execute() throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
String res = "";
String message = "123";
res = "<message>" + message + "</message>";
PrintWriter out = response.getWriter();
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
out.println("<response>");
out.println(res);
out.println("</response>");
out.close();
return null;
} 展开
展开全部
你的SSH框架,后缀名是什么?是action,还是.do,还是什么?因为后缀名是可以自定义的,我的SSH2里面,我自己定义的后缀名是.L,所以,自己先检查一下。
再有,你没有发全,把你的action的配置文件的action标签上面的package发出来,看命名空间是什么。namespace/actionpath这样才能访问到你的action。
不知道我说明白没有。
:)
再有,你没有发全,把你的action的配置文件的action标签上面的package发出来,看命名空间是什么。namespace/actionpath这样才能访问到你的action。
不知道我说明白没有。
:)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-04
展开全部
var url = "login3.action";
试试
试试
追问
试过,不行..
追答
试试把所有xml信息装在StringBuffer 或者StringBuilder 里
StringBuffer sb = new StringBuffer();
sb.append("your xml message");
out.print(sb);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥觉得你需要一个回调函数 loginCallback去接收responseText
追问
已补全
追答
哥觉得你需要在action里面设置一个断点,看有没有执行到这个action
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询