lin358
2012-09-23 16:58
采纳率: 100%
浏览 472
已采纳

ajax获取返回值问题

有没有人知道为什么div不会变...

代码如下
a.html


<br> var req = null;<br> function test() {<br> //初始化 <br> var code = document.all.code.value;<br> var name = document.all.name.value;<br> //req = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);<br> if (window.ActiveXObject) {<br> req = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);<br> } else if (window.XMLHttpRequest) {<br> req = new XMLHttpRequest();<br> }</p> <pre><code> //发出请求 req.open(&quot;GET&quot;, &quot;b.jsp?code=&quot; + code + &quot;&amp;name=&quot; + name, &quot;false&quot;); //设置属性,当后台处理完成后,回来调用myDeal方法。 req.onreadystatechange = myDeal(); req.send(null); } function myDeal() { if (req.readyState == 4) { //接收服务端返回的数据 var ret = req.responseText; //处理数据 document.all(&quot;myDiv&quot;).innerHTML = ret; } } </code></pre> <p>
    用户注册:
    <br>
    用户编号:
    <input type="text" name="code" onblur="">
    *
    <div id="myDiv" name="myDiv"></div>
    <br>
    用户名称:
    <input type="text" name="name">
    <br>
    <input type="button" value="注册" onclick="test();">

</body>

b.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%
//接收参数
String code = request.getParameter("code");
String name = request.getParameter("name");
//控制台输出表单数据看看
System.out.println("code=" + code + ",name=" + name);
//检查code的合法性
if (code == null || code.trim().length() == 0) {
out.println("code can't be null or empty");
} else if (code != null && code.equals("admin")) {
out.println("code can't be admin");
} else {
out.println("OK");
}
%>

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • jinnianshilongnian 2012-09-23 20:33
    已采纳

    req.onreadystatechange = myDeal();
    改成

    req.onreadystatechange = myDeal;

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • iteye_5246 2012-09-23 17:56

    1.你的 myDeal 应该在req.status == 200 时候获取 responseText
    [code="javascript"]

    function myDeal() {
    if (req.readyState == 4) {
    if(req.status == 200) {

    //接收服务端返回的数据
    var ret = req.responseText;
    //处理数据
    alert("ret "+ret);
    document.all("myDiv").innerHTML = ret;
    }
    }
    }
    [/code]
    2.写js建议装个火狐 fire debug 在提交ajax参数,获取响应 火狐fire debug都会看到
    3.如果还有什么问题:送你个连接:
    [url]http://blog.csdn.net/dncts/article/details/6189411[/url]
    你参照着改

    评论
    解决 无用
    打赏 举报
  • 被掐死的温柔 2012-09-23 18:44

    建议用jqeury的ajax

    评论
    解决 无用
    打赏 举报
  • hz020815 2012-09-23 21:13

    req.onreadystatechange = myDeal :idea:

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题