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个回答

req.onreadystatechange = myDeal();
改成

req.onreadystatechange = myDeal;

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]
你参照着改

建议用jqeury的ajax

req.onreadystatechange = myDeal :idea:

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问