|
以前做ajax发送异步请求,局部刷新时,发送请求都是直接发送到servlet中,现在我用ssh整合了一个项目,如果要发送一个请求到action中该怎么配置??我是这样写的,在struts.xml文件中,配置了一个方法 <action name="checkUser" class="stuAction" method="checkStu"></action> 然后发送请求: var url="checkUser?username="+username; 调用发送请求后,数据响应失败,xmlhttp.status为404,应该就是url地址的问题, 返回到前面的问题:ajax如何发送请求到action中? |
|
![]() |
楼主 ,在你的action类中为你相应的数据加上get方法,不然无法回调回到页面。。
|
![]() |
您说的是属性吗?属性都有getter,setter方法啊 |
![]() 20分 |
1.首先action所在的package要继承json-default 如:<package name=”index” namespace=”/index” extends=”json-default”>
2.返回的result(root是固定的值) <result type=”json” name=”register_input”> <param name=”root”>result</param> </result> 3.要引入json所必要的jar包 |
![]() |
现在能进到3了,就是alert(xmlhttp.status);能弹出3来,但还是响应数据失败, if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
if(xmlhttp.responseText.trim()=="false"){
stu.innerHTML="用户名可用";
}else{
stu.innerHTML="用户名不可用";
}
}else{
alert("服务器响应数据失败");
alert(xmlhttp.status);
}
}else
{
alert(xmlhttp.readyState)
}
弹出响应数据失败后,弹出404.我在struts.xml文件中也加上了; <package name="index" extends="json-default"> <action name="checkUser" class="stuAction" method="checkStu"> <result type="json" name="success"> <param name="root">result</param> </result> </action> </package> 然后jar包加了一个:json-lib-2.2.2-jdk15.jar,难道加错jar包了,求指教。 |
![]() |
和Url 调用servlet一样
|
![]() |
顶5楼~~路径是一回事啊~
|
![]() 20分 |
还是拿jquery 的ajax试试
上官网去找jquery的js、 我的版本是1.8.1的js var username = "admin";
$.ajax({
url:""/checkUser.action"",//路径不对自己修改
data:{
username : username ,
curTime: new Date().getTime()
},
type:""POST"",
dataType:""json"",
async: false,
success:function(data) {
//如果有返回值
//alert(data);
},
error:function(){
alert("添加失败");
}
});
|
![]() |
忘了说:
data:{ username : username , //第一个是你action里变量名 : 第二个是你要传递的值 }, |
![]() |
百度搜jquery ajax,一大堆。7楼说的只是其中一种方法
|
![]() |
这和jquery没啥关系,你的错误就是路径的问题,你的方法是对的。
|
![]() |
路径不就是和servlet一样吗?我的意思是,是不是直接写struts.xml中的Action类的名字??? |
![]() |
跟楼主用的一样的方法,完全没反应,楼主怎么解决的
|

