js代码:
<script type="text/javascript"> $(function(){ $("#username").blur(function(){ var name=$("input[name='orgInfo.username']").val(); $.ajax({ url:"findByName.action", data : {orgName : name}, type : 'post', dataType : 'text', success : function(date) { if ("exist" == date) { alert('存在该用户'); } else { alert('不存在该用户'+date); } }, }); }); }); </script>
Action中的代码:
private String orgName; private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } public String getOrgName() { return orgName; } public void setOrgName(String orgName) { this.orgName = orgName; } public String findByName() throws IOException{ OrgInfo info=systemService.getOrgInfoByName(orgName); if(info!=null){ str="exist"; }else{ str="noexist"; } System.out.println(str); ServletActionContext.getResponse().getWriter().write(str); return SUCCESS; }
在页面中用alert输出回调函数data的值为整个页面的所有内容,是那里出了问题呢?求大侠指点
<package name="ajax" extends="json-default" > <!-- 检验用户名是否存在 --> <action name="testAction" class="com.hisoft.jqt.action.TestAction" method="test"> <!-- 返回类型为json 在sjon-default中定义 --> <result type="json" name="success"> <!-- root的值对应要返回的值的属性 --> <!-- 这里的result值即是 对应action中的 result --> <param name="root">result</param> </result> </action> </package>
你好,你可以试下把dataType该成json形式,返回布尔型数据,需要在xml里注入,
然后直接if(data){ alert(存在!)}
找着问题了,是struts2.xml文件的问题,配置错误了,已经改好了,谢谢了