服务器未返回响应

时间:2012-02-09 17:52:57

标签: javascript ajax xmlhttprequest

我有一个插入我的数据库的ajax调用,调用结束,数据库更新但我没有从服务器得到任何响应。 我已经使用firebug确认它,因为有一个post标签,但没有像往常一样的响应标签。

我在下面发布了我的代码,任何帮助都会很棒。

function addCourse()
    {

    var memid = document.forms["addCoursesForm"]["Member"].value;
    var CourseName = document.forms["addCoursesForm"]["CourseNames"].value;
    var CourseDate = document.forms["addCoursesForm"]["Cdate"].value;
    var CourseExpiry = document.forms["addCoursesForm"]["Edate"].value;

    if(window.XMLHttpRequest)
        {
        xmlhttp=new XMLHttpRequest();
        }
    else
        {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    xmlhttp.onreadystatechange=function()
        {
        if (xmlhttp.readystate==4 && xmlhttp.status==200)
            {
            document.getElementById("ConfirmCourse").innerHTML=xmlhttp.responseText;
            }
        }
    xmlhttp.open("POST", "addCourseDB.php");
    xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    xmlhttp.send("memid="+ memid+ "&CourseName="+ CourseName+ "&CourseDate=" + CourseDate+"&CourseExpiry="+ CourseExpiry);

1 个答案:

答案 0 :(得分:0)

我会改变这一行:

xmlhttp.open("POST", "addCourseDB.php");

为:

xmlhttp.open("POST", "addCourseDB.php",true);

这样就可以为事件正确处理onreadystatechange(作为异步事件)。

OR,更好的是,开始使用jQuery,这样你就不必自己完成所有这些繁重的xmlhttp内容。

编辑:这是一个有说服力的参考:http://www.w3.org/TR/XMLHttpRequest/#the-open-method