问题描述
- 关于strut2+ajax传参问题
-
action中:
/**
* 判断用户是否存在
* @return
* @throws Exception
*/
public String findByName() throws Exception {
List userlist = adminService.searchStudent(username);
System.out.println(userlist.size()+username);
java.util.Map map = new HashMap();
if(userlist.size() > 0){
this.message = "exist";
map.put("message",message);
map.put("success", true);
json = JSONObject.fromObject(map);
}else{
map.put("success", false);
}
return SUCCESS;
}配置文件中: <!-- 判断用户是否存在 --> <action name="findByName" class="com.lb.action.AdminAction" method="findByName"> <result type="json"> <param name="root">json</param> </result> </action> /*判断用户是否存在*/ function findByName(){ $.ajax({ url:'findByName.action', data:{username:$("#username").val()}, type:'post', dataType:'json', success:function(data){ var dataObj=eval("("+data+")"); if('exist' == dataObj.message){ $.messager.alert('提示','该用户已存在','error'); }else{ $.messager.alert('提示','该用户可使用','info'); } }, error:function(){ $.messager.alert('提示','异常','info'); } }); } 问题:我只想传message 前台判断('exist' == dataObj.message),但是就是不行,求高手解答
解决方案
if('exist' == dataObj.message)
->
if(dataObj.success)
另外检查下struts2的配置
http://kingxss.iteye.com/blog/1622455
解决方案二:
要返回json的话那个action返回值应该是void吧,然后用输出流返回json字符串就好了
解决方案三:
直接把message传到前台就好了,,为什么非得用map装起来,,然后又转成json,,这不是做多余的事吗
<result type="json">
<param name="root">message</param>
</result>
时间: 2024-11-08 21:11:29