当前位置: 代码迷 >> Java Web开发 >> 新手学Ajax的一个有关问题
  详细解决方案

新手学Ajax的一个有关问题

热度:88   发布时间:2016-04-16 21:39:32.0
新手学Ajax的一个问题
用户名:
<input type="text" name="us.username" id="username">
密码:
<input type="password" name="us.password" id="password">
<input type="submit" value="登陆" id="login">
<script type="text/javascript">
     $(document).ready(function(){
     $("#login").click(function(){
     $.ajax(
     type:"post",
     url:"us_login.action",
     dataType:"json",
     data:{us.username:$("#username").val(),us.password:$("#password").val()},
     function(data){
     alert("Data:"+data);
     }
     );
     });
     };
    </script>

请问这个代码有什么问题吗?运行没反应
------解决思路----------------------
data数据时key value关系 你自己看看
------解决思路----------------------
us.username和us.password这个写法应该有问题。好像不能传struts2对象
------解决思路----------------------
这个submit按钮type改成button, 通过jquery的click时间来实现点击提交.修改如下:
用户名:
        <input type="text" name="us.username" id="username">
        密码:
        <input type="password" name="us.password" id="password">
        <input type="button" value="登陆" id="login">
        <script type="text/javascript">
        $(document).ready(function(){
            $("#login").click(function(){
                $.ajax(
                    type:"post",
                    url:"us_login.action",
                    dataType:"json",
                    data:{us.username:$("#username").val(),us.password:$("#password").val()},
                   success: function(data){
                        alert("Data:"+data);
                    }
                );
            });
        };
    </script>

------解决思路----------------------
发现你的代码有几大弊端,上面就说了两个了,一个是alert(data),这种写法说实话我还没见过,其次,你既然是type=“submit”,为什么还加个click方法,加个ajax请求??不理解。。。另外,对于传参,data:{us.username:$("#username").val(),us.password:$("#password").val()},
这个地方,us.username和us.password应该是不可以的。你可以这样写:
var aa = $("#username").val();
var bb = $("#password").val();
data:{aaa:aa,bbb:bb},
后台Action   :String aa = request.getParameter("aaa");
                          String bb = request.getParameter("bbb");
aa,bb就是你传到后台的参数值。

------解决思路----------------------
us.username用这种写法后台是取不到数据的,只能用username
  相关解决方案