首页 新闻 搜索 专区 学院

Ajax的页面传输问题,能传过去,没返回值

0
悬赏园豆:15 [已解决问题] 解决于 2013-10-17 19:56

index.jsp:

 1 <script type="text/javascript">
 2         function checkUser(username){//检测是否为空,不为空进行异步检测
 3             if(username.value == ""){
 4                 alert("请输入用户名!");
 5                 username.focus();
 6                 return;
 7             }
 8             else{
 9                 createRequest('checkUser.jsp?user='+username.value);
10             }
11         }
12         function createRequest(url){//初始化对象,建立连接,并发送请求
13             var xmlhttp;
14             if(window.XMLHttpRequest){
15                 //code for IE7+,Firefox,Chrome,Opera,Safari
16                 xmlhttp = new XMLHttpRequest();
17             }else{
18                 //code for IE6,IE5
19                 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
20             }
21             if(!xmlhttp){//如果不存在
22                 alert("不能创建XMLHttpRequest对象实例");
23                 return false;
24             }            
25             xmlhttp.onreadystatechange = function(){
26                 if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
27                     document.getElementById("myDiv").innerHTML=responseText;
28                 }
29             }
30             xmlhttp.open("GET",url,true);
31             xmlhttp.send();
32         }
33         
34         
35     </script>

body:

 1 <body>
 2     <form action="" method="post" name="form1">
 3         <center>用户名:<input type="text" id="username" size="32">
 4         <input type="submit" onclick="checkUser(form1.username)" value="check"></center><br>
 5         <center>密码:<input type="password" id="pwd1" size="32"></center><br>
 6         <center>确认密码:<input type="password" id="pwd2"></center><br>
 7         <center>E-mail:<input type="text" id="email"></center><br>
 8         <center><input type="submit" value="register"></center><br>
 9     </form>
10     <center><div id="myDiv"></div></center>
11   </body>

checkUser.jsp:

 1 <% 
 2         String[] userList = {"baidu","taobao","qq"};
 3         String user = new String(request.getParameter("user").getBytes("ISO-8859-1"),"UTF-8");
 4         Arrays.sort(userList);
 5         int result=Arrays.binarySearch(userList, user);
 6         System.out.println(user);
 7         if(result > -1){
 8             out.print("恭喜您,该用户没有注册");
 9         }else{
10             out.print("该用户已经被注册");
11         }
12      %>
李园春秋的主页 李园春秋 | 初学一级 | 园豆:147
提问于:2013-10-17 14:13
< >
分享
最佳答案
0

你的脚本有问题吧?responseText这个变量都没看到在哪儿申明的。修改为xmlhttp.responseText如何?

收获园豆:10
幻天芒 | 高人七级 |园豆:36662 | 2013-10-17 14:42

嗯嗯,是这样的,多谢啦

李园春秋 | 园豆:147 (初学一级) | 2013-10-17 19:55
其他回答(4)
0

在控制台监听过没有?

_cha1R | 园豆:403 (菜鸟二级) | 2013-10-17 14:20
0
 var btn = document.getElementById("btnSubmit");  
    btn.onclick = function () {
        var request = getXMLHttpRequest();   //创建XMLHttpRequest对象
        if (request) {
            request.open("get", "AjaxIsGetMethodSubmit.ashx?key=" + "12", true);
            request.onreadystatechange = function () {
                if (request.readyState == 4 && request.status == 200) {
                    var txt = request.responseText; //XMLHttpRequest对象将响应的信息作为字符串返回 
                    if (txt != "" && txt != "undefined") {
                        alert(txt);
                    }
                }
            }
            request.send(null);
        }
    };
秋壶冰月 | 园豆:5669 (大侠五级) | 2013-10-17 15:30
0

没有返回值,你值得什么?代码中的print吗?.你的ajax请求并没有处理返回的字符串。

邢少 | 园豆:10926 (专家六级) | 2013-10-17 16:11
0

把27行 这句 document.getElementById("myDiv").innerHTML=responseText;

改成  document.getElementById("myDiv").innerHTML=xmlhttp.responseText;    

 试试

收获园豆:5
t101lian | 园豆:18 (初学一级) | 2013-10-17 16:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册