关于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),但是就是不行,求高手解答

3个回答

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>
Royal_lr
Royal_lr 回复蘑菇兜: json = JSONObject.fromObject(message); 这一句去掉,,不需要,直接传过去就好了
4 年多之前 回复
u010086086
蘑菇兜 /** * 判断用户是否存在 * @return * @throws Exception */ public String findByName() throws Exception { List<User> userlist = adminService.searchStudent(username); System.out.println(userlist.size()+username); if(userlist.size() > 0){ this.message = "exist"; } json = JSONObject.fromObject(message); return SUCCESS; } 直接传运行是报错的啊,错误信息net.sf.json.JSONException: A JSONObject text must begin with '{' at character 1 of exist
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐