[英]submitting a form with php and ajax
我正在尝试将ajax添加到我的表单中,以便我可以提交表单而不刷新,但是php echo命令不起作用。 如果我取出ajax,效果很好,但在提交时会刷新。 我认为这是试图让他们共同努力的一种情况。 我现在只是在学习ajax,所以我对此并不十分了解。 请看看我要去哪里了
<script type="text/javascript"
src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('form').bind('submit', function(){
$.ajax({
type: "POST",
url: "ajax.html",
data: $("form").serialize(),
success: function() {
alert("form was submitted");
}
});
return false;
});
});
</script>
<?php
if(isset($_POST['submit'])){
$a=$_POST['a'];
$b=$_POST['b'];
echo $a.$b;
}
?>
<html>
<form method='POST'>
first name:<input type="text" name="a">
last name: <input type="text" name="b">
<input type='submit' name='submit'>
</form>
</html>
看着它,您正在向“ ajax.html”发送ajax请求,并将php标记包含在“ ajax.html”中,您需要将其重命名为“ ajax.php”以使php标记正常工作。
您的成功功能只会触发包含静态文本的警报。
success: function() {
alert("form was submitted");
}
如果要查看响应数据,则必须对其进行处理。
success: function(data) {
alert(data);
}
console.log( data )
或alert( data )
可能值得注意的是,您回显的PHP代码将不可见,因为ajax响应将获取该信息。 这不是如何使用ajax的好例子,因为您不会显示来自ajax调用的结果。 这样的事情会更有意义:
“ ajax.php” PHP文件:
<?php
if(isset($_POST['submit']))
{
$a=$_POST['a'];
$b=$_POST['b'];
//Add user name to database here or something
die($a." ".$b); //Prevents anything after this from being returned
}
?>
<script type="text/javascript"
src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('form').bind('submit', function(){
$.ajax({
type: "POST",
url: "ajax.php",
data: $("form").serialize(),
success: function(data) {
alert("Hello " + data);
}
});
return false;
});
});
</script>
<html>
<form method='POST'>
first name:<input type="text" name="a">
last name: <input type="text" name="b">
<input type='submit' name='submit'>
</form>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.