我是使用AJAX的全新手段,我希望动态生成一些信息来计算某些日期,但最终这并不重要。
我需要将周和年发送到包含AJAX代码的Javascript函数,然后该函数应根据它指向的文件中的内容返回信息。
单击按钮时,"运行计划程序"它调用以下代码。但是,只有"访问功能的警报。周=" +周+"年=" +年"叫做。其他警报不会被称为暗示未达到警报。同样,我请求的页面上的代码也不起作用。
有人可以指出我正确的方向,还是积极发现我出错的地方?
非常感谢:
<script>
function autoCalculatePlanner(week, year){
alert("Accessed Function. Week = " + week + " Year = " + year);
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert("State Ready");
document.getElementById("test").innerHTML = this.responseText;
alert("Document Submitted");
}
else{
document.getElementById("test").innerHTML = "Error";
}
xhttp.open("GET", "ajax/auto_calculate_planner.php?week=" + week + "&year=" + year, true);;
xhttp.send();
};
}
</script>
更新
用户&#34;不要恐慌&#34;提供了我的代码的修订版本如下:
function autoCalculatePlanner(week, year) {
alert("Accessed Function. Week = " + week + " Year = " + year);
xhttp = new XMLHttpRequest();
xhttp.open("GET", "ajax/auto_calculate_planner.php?week=" + week + "&year=" + year, true);;
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert("State Ready");
document.getElementById("test").innerHTML = this.responseText;
alert("Document Submitted");
} else {
document.getElementById("test").innerHTML = "Error";
}
};
xhttp.send();
}
这是非常有帮助的,至少现在引起了回应。但是,我得到了&#34;错误&#34;消息而不是提交任何内容。我试图做自己的研究,但我再也找不到如何解决这个问题。
有人可以提供有关我可能出错的地方的其他信息吗?
可能需要的其他信息:
我尝试通过GET处理的文件位于名为&#34; ajax&#34;的子文件夹中。 如果建议发布该文件的代码,我也会这样做。
答案 0 :(得分:1)
答案 1 :(得分:1)
它只是一个paranthesis问题,你必须在xhttp.onreadystatechange之外调用xhttp.open和xhttp.send,而不是在
之内
function autoCalculatePlanner(week, year){
alert("Accessed Function. Week = " + week + " Year = " + year);
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert("State Ready");
document.getElementById("test").innerHTML = this.responseText;
alert("Document Submitted");
}
else{
document.getElementById("test").innerHTML = "Error";
}
};
xhttp.open("GET", "ajax/auto_calculate_planner.php?week=" + week + "&year=" + year, true);;
xhttp.send();
}
&#13;