javascript - Unresolved PHP页面刷新不使用Ajax

标签 javascript php jquery html ajax

请问有人可以针对我的问题发布错误更正并经过测试的代码吗? 程序确实 - 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/

相关文章:

Javascript 检查鼠标在圆或多边形内单击

javascript - 具有大(> 500,000)点的 D3.js 散点图?聚类?

javascript - 如何在 anchor 标记内创建下一篇/上一篇文章链接?

javascript - 跟踪固定标题下顶部可见 div 列表的最快方法是什么?

javascript - Angular4-Carousel 不适用于 Angular 5

php - 在 php 中从 mysql 查询 JSON db 对象

Php 找不到 PostgreSQL 库,尽管它存在于指定的文件夹中

javascript - 单击时从输入中删除字符串? jQuery

jquery - 复选框的行为类似于切换开关

javascript - 如何在没有重定向页面的情况下使用 jquery post 发送大数据?