注册 登录
编程论坛 jQuery论坛

请大家共同研究下这个段代码哪里出错了

kira007 发布于 2008-08-23 01:02, 2006 次点击
以下是一段 在线留言的AJAX 应用,但是 不知道哪里的问题,提示只停留在 “正在保存留言...”

[bo]home.asp [/bo]页面
<span id="book_err"></span><br>
<textarea name="message" id="message"></textarea> <br />
<input type="submit" name="btnOK" id="btnOK" value="提交留言" onclick="sendinfo(document.getElementById('message').value);"/>


[bo]AJAX.页面[/bo]
function sendinfo(message){
    var xmlhttp;
    try{
        xmlhttp=new XMLHttpRequest();
        }
    catch(e){
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4){
        if (xmlhttp.status==200){
            var data=xmlhttp.responseText;
            book_result(data);
            }
        else{
            document.getElementById("book_err").innerHTML="<font color='red'>留言失败,请联系管理员</font>";
            }
        }
    else{
        document.getElementById("book_err").innerHTML="<font color='blue'>正在保存留言...</font>";
        }
    }
    xmlhttp.open("post", "booksave.asp", true);
    xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    xmlhttp.send("message="+escape(message));
}
//---------------------------------- AJAX  博客留言 信息添加状态----------------------------------
function book_result(data){
    if(data==0){document.getElementById("book_err").innerHTML="<img src='../images/yesno.gif'/> 留言保存失败,请联系管理员";}
    
    if(data==1){document.getElementById("book_err").innerHTML="<img src='../images/yesok.gif'/> 留言保存成功";}
    
    if(data==2){document.getElementById("book_err").innerHTML="<img src='../images/yesno.gif'/> 你尚未登陆,请先登陆再留言";}
    
    if(data==3){document.getElementById("book_err").innerHTML="<img src='../images/yesno.gif'/> 本系统不允许给自己留言";}

    }


[bo]booksave.asp[/bo]
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="../conn.asp"-->
<!--#include file="../CodePage.asp"-->
<%
if loginuserID<>"" then'判断用户是否已经登陆
'登陆成功用户继续执行以下操作
if loginuserID=myID then '如果登陆用户是博客所有者

response.Write(3)'输出不能给自己留言的警告标识
else'
'执行留言添加动作
message=trim(request.Form("message"))
strsql="insert into blog_book(userID,message) values("&loginuserID&",'"&message&"')"
call Table_Insert(strsql)
if err then
       response.Write(0)'添加失败标记
       else
       response.Write(1)'添加成功标记
       end if
'
end if

else'如果没有登陆,输出未登陆标记2
response.Write(2)       
end if
%>
1 回复
#2
yjq19842008-08-25 11:34
asp我不懂
但是你xmlhttp有问题
兼容不够
function getAjax()
{
    var ajax=false;
    try
    {
     ajax = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
     {
      try
      {
      ajax = new ActiveXObject("Microsoft.XMLHTTP");
      }
     catch (E)
      {
      ajax = false;
      }
    }
    if(!ajax && typeof XMLHttpRequest!='undefined')
    {
        ajax = new XMLHttpRequest();
    }
    return ajax;
   
}
我的也有限
你可以查看下别人写的
1