php - 使用 ajax 将 javascript 变量传递给 php,结果不显示任何内容

标签 php javascript ajax

这是我的代码,我想在单击提交按钮时将带有 ajax 的 javascript 变量传递给 php,然后结果不显示来自 javascript 的 var_data 变量什么代码有问题? 这是大家帮助我之前的编辑命令

 <!DOCTYPE html>
<html>
<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script>
        $(document).ready(function() {
            $('#sub').click(function() {
                var var_data = "Hello World";
                $.ajax({
                    url: 'http://localhost/ajax/PassVariable.php',
                    type: 'GET',
                     data: { var_PHP_data: var_data },
                     success: function(data) {
                         // do something;

                     }
                 });
             });
         });
 </script>

 </head>
 <body>

 <input type="submit" value="Submit" id="sub"/>

 <?php 
   $test = $_GET['var_PHP_data'];
     echo $test;
 ?>
 </body>
 </html>

这是源代码

 <?php
     if (isset($_GET['var_PHP_data'])) {
       echo $_GET['var_PHP_data'];
     } else {
     ?>
     <!DOCTYPE html>
     <html>
       <head>
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
            <script src="http://malsup.github.com/jquery.form.js"></script> 
         <script>
             $(document).ready(function() {
                 $('#sub').click(function() {
                     var var_data = "Hello World";
                     $.ajax({
                         url: 'http://localhost/test.php',
                         type: 'GET',
                          data: { var_PHP_data: var_data },
                          success: function(data) {
                              // do something;
                             $('#result').html(data)
                          }
                      });
                  });
              });
         </script>
       </head>
       <body>
         <input type="submit" value="Submit" id="sub"/>
         <div id="result">
       </body>
     </html>
    <?php } ?>

这条语句 if(isset($_GET['var_PHP_data'])) 输出 false 然后显示 Hello World What should i do to do for isset($_GET['var_PHP_data']) is true?

最佳答案

您的解决方案存在 PHP 问题:您不检查数据是否存在,也不对结果执行任何操作。我修改了脚本以执行以下操作:

  1. 检查是否设置了 var_PHP_data 变量(在 PHP 中,在服务器上)。
  2. 如果是,请发送包含该数据的空白文本响应。
  3. 如果不是,则绘制表格和其他所有内容。
  4. 在表单中,我创建了一个 #result分区
  5. Ajax 响应将显示在此 div 中。

还要确保将脚本托管在本地主机上,并将其命名为 test.php。为确保这是有弹性的,您可以将 Ajax URL 更改为 <?php echo $_SERVER['PHP_SELF'];?>以确保您会点击正确的脚本。

<?php
    if (isset($_GET['var_PHP_data'])) {
      echo $_GET['var_PHP_data'];
    } else {
    ?>
    <!DOCTYPE html>
    <html>
      <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js">
        <script>
            $(document).ready(function() {
                $('#sub').click(function() {
                    var var_data = "Hello World";
                    $.ajax({
                        url: 'http://localhost/test.php',
                        type: 'GET',
                         data: { var_PHP_data: var_data },
                         success: function(data) {
                             // do something;
                            $('#result').html(data)
                         }
                     });
                 });
             });
        </script>
      </head>
      <body>
        <input type="submit" value="Submit" id="sub"/>
        <div id="result">
      </body>
    </html>
    <?php } ?>

关于php - 使用 ajax 将 javascript 变量传递给 php,结果不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16434482/

相关文章:

javascript 数据不会显示在 php codeigniter 中

php - 检查表(phpmyadmin、php、mysql)中的值,仅返回 0

javascript - React 中 TypeScript 中事件的类型

javascript - AJAX XML回复节点值迭代

javascript - 如何在VueJs中上传不同字段的多张图片?

javascript - Jquery 不支持使用 ASP.NET C# 的母版页

java - 当我发出 Ajax 请求时,如何更改地址栏?

php - Android - wampserver 上的 MySQL 连接错误

php - 记录curl响应的最有效方法(html)

PHP jQuery Chat - 用户正在输入功能