[英]Basic Ajax but not working with either GET or POST method
我知道那里有很多教程,也有同样的问题,但是我尝试了很多次,而ajax却没有用。 请纠正我的脚本:这是index.php
<?php
echo'
<script type="text/javascript">
function ajax()
{
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("result").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","ajax.php",true);
xmlhttp.send();
}
</script>
</head>
<body>
<p> </p>
<form id="form1" name="form1" method="post" action="" onsubmit="return ajax()">
<p>
<label for="num2">number 1</label>
<input type="text" name="num1" id="num2" />
*
<label for="num3">number 2</label>
<input type="text" name="num2" id="num3" />
=
<label for="result">Result</label>
<input type="text" name="result" id="result" />
</p>
<p>
<input type="submit" value="Submit" />
</p>
</form>';
?>
这是ajax.php,它接受两个变量并将它们相乘并回显结果,但是我的页面刷新了,什么也没看到
<?php
$num1=$_POST["num1"];
$num2=$_POST["num2"];
$result=$num1*$num2;
echo $result;
?>
发生这种情况是因为function ajax()
不返回任何内容,因此表单继续提交。
函数结束前添加return false;
否则, return false;
正确的代码:
<html>
<head>
<script type="text/javascript">
function ajax(){
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("result").value=xmlhttp.responseText;
}
}
var params = "num1="+document.getElementById('num2').value+"&num2="+document.getElementById('num3').value;
xmlhttp.open("POST","ajax.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
return false;
}
</script>
</head>
<body>
<p> </p>
<form id="form1" name="form1" method="post" action="" onsubmit="return ajax()">
<p>
<label for="num2">number 1</label>
<input type="text" name="num1" id="num2" />
*
<label for="num3">number 2</label>
<input type="text" name="num2" id="num3" />
=
<label for="result">Result</label>
<input type="text" name="result" id="result" />
</p>
<p>
<input type="submit" value="Submit" />
</p>
</form>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.