2012-02-09 194 views
0

我有一个ajax调用插入到我的数据库,调用熄灭,数据库更新,但我没有得到任何回应从服务器。 我已经确认它使用萤火虫,因为有一个帖子标签,但没有像往常一样响应选项卡。服务器没有返回响应

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

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

我不知道为什么你有一个jQuery的AJAX标签。你应该显示你的服务器端代码。 – 2012-02-09 18:21:07

+0

服务器端插入数据库并回显'插入!'回到用户 – Rich 2012-02-09 20:29:02

回答

0

我会改变这一行:

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

到:

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

这种方式的onreadystatechange将在事件得到妥善处理(如异步事件)。

或者更好的是,开始使用jQuery,所以你不必自己去完成这些繁重的xmlhttp工作。

编辑:这里是一个definative参考:http://www.w3.org/TR/XMLHttpRequest/#the-open-method

+0

嗨,我已经尝试添加true,但它仍然无法正常工作。它像if(xmlhttp.readystate == 4 && xmlhttp.status == 200)没有触发。数据库正在更新,'记录插入'正在萤火虫中返回,但未发送给用户。 – Rich 2012-02-11 15:45:59