js加入ajax代码之后,js不起作用了

问题描述:

 <%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
function ajaxEx() {
    alert("hello");
    var name = document.insertForm.T_name.value;
    alert(name);
    var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    var url ="searchAction?T_name="name;
    xmlHttp.open("post",url,true);
    xmlHttp.onreadystatechange=function (){
        if(xmlHttp.readystate == 4){
            resultDiv.innerHTML +=xmlHttp.responseText;
        }   
        else{
            alert("hello");
        }
    }
    xmlHttp.send();
}
</script>
    <form method="post" name="insertForm" style="margin-bottom: 50px;margin-top: 50px;">
        请输入要查询的图书的信息:<br/>
        <br /> 名称:<input type="text" name="T_name" onkeyup="ajaxEx()">
            </form>
    <hr>
    书籍信息<br>
    <ul style="height: 0px ;padding: 0px;margin: 0px;">
        <li style="width: 80px;display: inline-block;list-style: none;">名称</li>
        <li style="width: 40px;display: inline-block;list-style: none;">编号</li>
        <li style="width: 40px;display: inline-block;list-style: none;">价格</li>
    </ul><br/>
    <div id="resultDiv">


    </div>
</body>
</html>
# 去掉这部分之后,js就可以弹出了“hello”
xmlHttp.open("post",url,true);
    xmlHttp.onreadystatechange=function (){
    if(xmlHttp.readystate == 4){
    resultDiv.innerHTML +=xmlHttp.responseText;
    }
    else{
    alert("hello");
    }
    }
  xmlHttp.send();

var url ="searchAction?T_name="name;

==>>

var url ="searchAction?T_name="+name;

你好,这个原生态在生产中几乎不会用 ,建议引用jquery或者extjs

ajax写错了,你试试简单的,如何报错,就可以看到原因了,没报错说明写错了

用jquery
$.post(url,{"T_name":"name"},function(result){
if(result=="4"){

}else{
    alert("hello") ;
}

})

原生态js在生产中几乎不会用 ,建议使用jquery,希望能帮到你^_^

(1)xmlhttp对象创建只考虑了IE浏览器的情况,如果使用的浏览器不是IE,则xmlhttpd对象创建不成功。
var xmlhttp = false;
if (window.XMLHttpRequest) { //Mozilla、Safari等浏览器
xmlhttp = new XMLHttpRequest();
}
else if (window.ActiveXObject) { //IE浏览器
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
(2)url编码格式明显为get方式,所以post应改为get
var url ="searchAction?T_name="name;
xmlHttp.open("post",url,true);

    xmlHttp.open("get",url,true);
(3) if(xmlHttp.readystate == 4)里面应该加上   if(xmlhttp.status == 200)的判断,
status==200代表页面访问成功,不等于200包含了页面不存在等等

(4)如果上述还不能解决你的问题的话,请务必检查下url的拼写,xmlhttp.open函数是否成功执行,或者存在着函数、变量拼写等方面的语法错误。

IE有开发者工具,你可以开启调试模式看一下,祈祷它提示你某个对象找不到吧,这样比较好解决,如果它提示你调用的方法找不到,就是你的程序写错了,只好分块的删除你页面的代码,去定位你到底哪里写错了吧。

换个浏览器试试,获取浏览器对象还有两种没考虑,还有状态等于200表示发送成功

var name = document.…会不会报错看一下,没这样用过