请问有人可以针对我的问题发布错误更正并经过测试的代码吗? 程序确实 - 22.php 具有以下形式。当用户输入并单击“提交”按钮时,结果应从 23.php 中获取并显示在 22.php 上的 div 中
我已经尝试过以下解决方案,但没有一个能解决我的问题;
1)我改为:$("#testform").submit(function(event){
2) 我添加了“return false;”最后防止它实际提交表单并重新加载页面。
3)清除我的浏览器缓存
我可以在我的计算机上看到程序发生了什么;
1) 我点击提交后没有收到错误消息。
2)我可以看到页面的选项卡快速重新加载,并且输入的文本字段被清除。
3) 没有错误消息或结果显示。
<html>
<head>
<title>My first PHP page</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#btn").click(function(event){
event.preventDefault();
var myname = $("#name").val();
var myage = $("#age").val();
yourData ='myname='+myname+'&myage='+myage;
$.ajax({
type:'POST',
data:yourData,//Without serialized
url: '23.php',
success:function(data) {
if(data){
$('#testform')[0].reset();//reset the form
$('#result').val(data);
alert('Submitted');
}else{
return false;
}
};
});
});
});
</script>
</head>
<body>
<form method="post" id="testform">
Name:
<input type="text" name="name" id="name" />Age:
<input type="text" name="age" id="age" />
<input type="submit" name="submit" id="btn" />
</form>
<div id='result'></div>
</body>
</html>
<?php
if ( isset($_POST['name']) ) { // was the form submitted?
echo "Welcome ". $_POST["name"] . "<br>";
echo "You are ". $_POST["age"] . "years old<br>";
}
?>
最佳答案
你不需要改变你的php代码 尝试使用提交事件提交表单...
$("#testform").submit(function(event){
use `dataType:json`; in your ajax ..
yourData =$(this).serialize();
你的PHP
<?php
if ( isset($_POST['name']) ) { // was the form submitted?
$data['name']= 'welcome '.$name;
$data ['age']= 'you are '.$age;
print_r(json_encode($data));exit;
}
?>
现在在您的成功功能中
var message = data.name + ' ' + data.age;
$('#result').html(message );
关于javascript - Unresolved PHP页面刷新不使用Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36055602/