我有一个插入我的数据库的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);
答案 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