日期:2014-05-17  浏览次数:20674 次

AJAX调用没跳转到Servlet
<script type="text/javascript">
var xmlHttp;
function createXmlHttpRequest(){
//创建一个XMLHttprequest对象
if(window.ActiveXObject){//如果是IE浏览器
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function publishers(p){
if(p=="0"){
publisher.style.visibility="visible";
}
else {
publisher.style.visibility="hidden";
document.getElementById("my_select").value="";
}
}
function checkBook(ck,id){
for(var n = 0;n<document.getElementsByName(id).length;++n){
document.getElementsByName(id)[n].checked = ck;
}  
}
function check(){
document.query.submit();
}
function delBooks(){
var ckStr = document.getElementsByName("bookId");
var delStr ="";
var num =0;
for(var i =0;i<ckStr.length;++i){
if(ckStr[i].checked){
++num;
delStr+=ckStr[i].value+"|";
}
}
if(num>0){
if(window.confirm("确认删除所选图书?")){
createXmlHttpRequest();
xmlHttp.onreadystatechange = processor;//将状态触发器绑定到一个函数
  alert("条用open前");
xmlHttp.open("GET","<%=basePath%>/DelBookServlet?del="+delStr,true);//已经调用了,问题是没跳转到DelServlet,巨尴尬 alert("条用open后");
xmlHttp.send();
}
}else {
alert("您无选中任何图书");
return;
}
}
function processor(){
//AJAX中处理从服务器返回的信息的函数
if(xmlHttp.readyState==4){//响应完成
if(xmlHttp.status==200){//返回成功
//取出服务器返回的文本
var isDel = xmlHttp.responseText;
  alert(isDel);//是、个空串 "" ;
if(isDel=="true"){
var ckStr=document.getElementsByName("bookId");
for(var i=0;i<ckStr.length;++i){
if(ckStr[i].checked){
var ck = ckStr[i].parentNode.parentNode;
ck.removeNode(true);
i--;
}
}
}else {
alert("删除图书失败");
}
}
}  
}

------解决方案--------------------
未成功,那说明你的web.xml是否有配置servlet呢?你用log日志打印记录啊,免的看不到错误出在神马地方都不知道了。也可以debug调试一下。