我想在我的localhost WAMP服务器上使用Ajax执行一个简单的POST函数。 我有以下代码:
function fill_table()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("done_by").innerHTML=xmlhttp.responseText;
}
}
alert(xmlhttp.statusText);
xmlhttp.open('POST', '../functions/ajax/fill_progress.php');
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send("id_case=" + id_case);
alert("posted good !");
}
这是我的fill_progress.php
<?php
session_start();
echo("test");
?>
我的html代码中有<span id="done_by"> </span>
。
所以代码很简单,但是当我尝试使用firebug和alert(xmlhttp.status)进行调试时,我的帖子无效。我没有任何关于来自Ajax的POST的网络流量。我得到结果代码 0 ,这很可能是权利或路径的错误。但事实并非如此,我尝试使用GET方法使用相同的代码并且工作正常!
所以我认为问题是以下代码
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
我认为www-form-urlencoded期望像www.xxx.yyy这样的网址,但我使用localhost /.../.../...
这可能是解决方案的一部分吗?或者我错过了什么?
答案 0 :(得分:0)
我使用完整路径而不是( ../ smthg / random.php )并且它有效。