当前位置: 首页 > 面试题库 >

jQuery Ajax在PHP同一页面上传递值

阮桐
2023-03-14
问题内容

当试图在同一页面上发送值时,我对此感到困惑。

 <script>
      $("select[name='sweets']").change(function () {
      var str = "";
      $("select[name='sweets'] option:selected").each(function () {
            str += $(this).text() + " ";

          });

            jQuery.ajax({
            type: "POST",
            data:  $("form#a").serialize(),

            success: function(data){
                jQuery(".res").html(data);

                $('#test').text($(data).html());


            }
            });  
            var str = $("form").serialize();
            $(".res").text(str);
    });
    </script>
 <div id="test">
 <?php
  echo $_POST['sweets'];
  ?>
  </div>
<form id="a" action="" method="post">
  <select name="sweets" >
   <option>Chocolate</option>
   <option selected="selected">Candy</option>
   <option>Taffy</option>
   <option>Caramel</option>
   <option>Fudge</option>
  <option>Cookie</option>
</select>
</form>

好吧,它将显示在html标记的顶部,但如果在正文内部,则将显示null。


问题答案:

这是适合您的工作代码。要将ajax请求发送到同一页面,可以将url参数保持为空,这已经在做。如果您试图让脚本在$_POST有值时表现不同,请isset使用下面的用法。

 <?php
  if(isset($_POST['sweets'])) 
  {
    echo $_POST['sweets'];
    exit;
  }
  ?>

    <script>
        $(function(){
          $("select[name='sweets']").change(function () {
          var str = "";
          $("select[name='sweets'] option:selected").each(function () {
                str += $(this).text() + " ";

              });

                jQuery.ajax({
                type: "POST",
                data:  $("form#a").serialize(),

                success: function(data){
                    jQuery(".res").html(data);

                    $('#test').html(data);


                }
                });  
                var str = $("form").serialize();
                $(".res").text(str);
        });
        });
        </script>


 <div id="test">

  </div>

<form id="a" action="" method="post">
  <select name="sweets" >
   <option>Chocolate</option>
   <option selected="selected">Candy</option>
   <option>Taffy</option>
   <option>Caramel</option>
   <option>Fudge</option>
  <option>Cookie</option>
</select>
</form>


 类似资料:
  • 问题内容: 当试图在同一页面上发送值时,我对此感到困惑。 好吧,它将显示在html标记的顶部,但如果在正文内部,则将显示null。 问题答案: 这是适合您的工作代码。要将ajax请求发送到同一页面,可以将参数保持为空,这已经在做。如果您试图让脚本在有值时表现不同,请使用下面的用法。

  • 问题内容: 我想在一个页面中获取用户输入,将其存储在一个php变量中,并在另一个php页面中使用它。我已经尝试过使用“会话”,但是它似乎没有用。还有另一种安全的选择吗?此信息可能是用户名和密码。 问题答案: 尝试更改会话代码,因为这是执行此操作的最佳方法。 例如: index.php nextpage.php 但是,我可能会在会话中存储更安全的内容(例如用户ID),而不是用户的登录凭据。

  • 问题内容: 我正在尝试将变量发送到进行AJAX调用的同一页面。 仅当我分开PHP脚本时(例如,相应地更改AJAX ),我才能收到成功的结果。 同一页是否可以捕获和处理我们使用AJAX传递的变量? 问题答案: 您在AJAX设置中进行了设置,因此您应该使用json对象而不是String(HTML)。 使用 代替,然后将PHP放在页面的顶部。因此,在检查是否存在HTML之前,不会回显任何HTML 。 另

  • 我用jetty web server实现了这一点。 前提是web服务器已经启动。 我用JSP编写的主页试图从传入连接中获取IP地址。 因此,我将它分成两个JSP页面。(比方说,a.jsp和b.jsp) b、 jsp用于获取客户端ip地址,然后在 a、 jsp专门用于显示从b.jsp获得的ip地址。 我有一个静态字符串在我的b.jsp用于存储传入的连接IP地址。 两个问题: > 如何将值从b.jsp

  • 问题内容: 看起来很简单,但是我找不到很好的方法。 在第一页中说,我创建了一个变量 该页面的表单操作是“ Page2.php”。因此,在Page2.php中,如何访问该变量?我知道我可以在会话中做到这一点,但我认为对于一个简单的字符串来说这太多了,我只需要传递一个简单的字符串(文件名)即可。 我该如何实现? 谢谢! 问题答案: HTML / HTTP是无状态的,换句话说,您在上一页所做的/与当前页

  • 问题内容: 我的主页上有一个表单,提交后,会将用户带到网站上的另一个页面。我想将输入的表单数据传递给下一页,例如: 用户在表格中输入的电子邮件地址在哪里。我到底该如何完成? 问题答案: 最好的方法是使用POST,这是超文本传输​​协议的一种方法https://developer.mozilla.org/en- US/docs/Web/HTTP/Methods index.php site2.php