首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

本人js生手,纯新手,想用jQuery中封装的ajax来实现不跳转验证用户名是否已经存在,用的SSH的框架

2013-07-04 
本人js新手,纯新手,想用jQuery中封装的ajax来实现不跳转验证用户名是否已经存在,用的SSH的框架我的想法是

本人js新手,纯新手,想用jQuery中封装的ajax来实现不跳转验证用户名是否已经存在,用的SSH的框架
我的想法是将用户名传到action,action通过spring和hibernate到数据库验证是否存在,然后返回结果,存在返回exist,不存在返回not exist。
然后回调函数根据返回的内容确定显示什么提示。

这个事件是在账号框失去焦点的时候触发的,想要的效果是在其后面提示。

但是现在action接受不到用户名,或者是返回值没有传回给回调函数,页面上根本就没有变化。
不知道为什么,求各位大牛帮助!!


   <script src="js/validate.js" type="javascript"> </script> 
    <script src="js/jquery-1.9.1.js" type="javascript"> </script> 

<script language="JavaScript">
    $(document).ready(function() {
        $('#accountname').blur(function(){
            var account = $('#accountname').val();
            $.get('src/struts/action/CheckAccountName.action?','userid = '+ account,processData);
        });
    });

function processData(){
    if(data=='exist'){
        $('#accounthint').html('<p>该账号已经存在</p>');
    }
    else $(this).html('<p>该账号可以使用</p>');
}





action部分的代码:

public class CheckAccountNameAction extends ActionSupport{
    private String userid;
    private String result;
    private AccountManagerImpl am = new AccountManagerImpl();

    public CheckAccountNameAction(String userid) {
        this.userid = userid;
    }
    
    @Override
    public String execute(){
        result = am.checkAccountName(this.userid);
        //这个函数就是service层的函数
        return result;
}



我总觉得是什么部分环节掉了。。
急求帮助啊! jQuery Ajax JavaScript SSH 用户名


[解决办法]
function processData(data){
    if(data=='exist'){
        $('#accounthint').html('<p>该账号已经存在</p>');
    }
    else $(this).html('<p>该账号可以使用</p>');
}
[解决办法]
后台没进去,先确认你的action 和xml 配置文件是否匹配。
[解决办法]
额。有几处我看上去不太对。但是我也不知道我对不对..
1、$.get()中的第一个参数URL,不知道是你那么设置的还是我没接触到,我用的SpringMVC,Struts2都快忘了,action有那么长吗=、=,要是我直接就CheckAccountName.action
2、URL后边应该没有“?”吧,如果用问号,可以就
$.get('src/struts/action/CheckAccountName.action?userid = '+ account,了第二个参数就省了
3、第三个参数,我没这么写过,一般都是function(data) {},如果你拆开写的话,调用这个JS后边应该加括号吧?processData(data);
如果还没用的话,用火狐浏览器FireBug追一下吧 应该会有错误,看看到底是哪出毛病了
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

额。有几处我看上去不太对。但是我也不知道我对不对..
1、$.get()中的第一个参数URL,不知道是你那么设置的还是我没接触到,我用的SpringMVC,Struts2都快忘了,action有那么长吗=、=,要是我直接就CheckAccountName.action
2、URL后边应该没有“?”吧,如果用问号,可以就
$.get('src/struts/action/CheckAccountName.action?userid = '+ account,了第二个参数就省了
3、第三个参数,我没这么写过,一般都是function(data) {},如果你拆开写的话,调用这个JS后边应该加括号吧?processData(data);
如果还没用的话,用火狐浏览器FireBug追一下吧 应该会有错误,看看到底是哪出毛病了

说错了,我的action也分层,但是没用src/这么分


这个应该是直接用就可以,会到struts.xml里面找,我觉得我是没有写httpget造成的。

嗯 还是建议先Firebug看一下,排除一下是否是JS的问题
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

楼上说得对,你没把参数加上。


加上了还是不行 T T


后台方法前面有加[HttpGet]么


没有。。。求解释怎么写。。
另外,那返回的时候也需要http write这样的函数吗?



1、就在方法前面加一个  [HttpGet]  这个表示GET方式访问的方法,记得默认的是post样
2、直接返回值就可以了

热点排行