【问题标题】:ajax returns a null request (Undefined index) [duplicate]ajax返回一个空请求(未定义的索引)[重复]
【发布时间】:2021-12-17 10:11:27
【问题描述】:

我有这个简单的 ajax 请求

<script>
  $(document).ready(function() {
        setInterval(() => {
            var val1 = $("#id").val();
            var val2 = $("#dt").val();
            $.ajax({
                url: "refreshState.php",
                type: "POST",
                data: { id: val1 , dt:val2 }
            });

        }, 2000);
    });
</script>

还有这个 php 代码

<?php
session_start();
if (isset($_REQUEST)) {
require_once("./dbConfig.php");
 $now=date_create(trim($_REQUEST["dt"],"'"));
 $id=$_REQUEST["id"];
 $update_login="UPDATE users set login_time=? where id=?";
 $update_login=$db->prepare($update_login);  
 $update_login->bind_param("ss",$now,$id);
 $update_login->execute();

}
?>

当我加载页面时,我收到没有发布请求的错误

未定义索引:6

行 C:\xampp\htdocs\projects\ten\refreshState.php 中的 dt

未定义索引:7

行 C:\xampp\htdocs\projects\ten\refreshState.php 中的 id

【问题讨论】:

  • $_REQUEST 将被设置,无论使用if (!empty($_REQUEST)) { 或更好,因为你知道if (!empty($_POST)) {

标签: php mysql ajax


【解决方案1】:

您可以使用 ($_POST) 发布方法

   <?php
session_start();
if ($_POST){
require_once("./dbConfig.php");
 $now=date_create(trim($_POST["dt"],"'"));
 $id=$_POST["id"]; 
 $update_login="UPDATE users set login_time=? where id=?";
 $update_login=$db->prepare($update_login);  
 $update_login->bind_param("ss",$now,$id);
 $update_login->execute();
}
?>

【讨论】:

    【解决方案2】:

    试试 $_POST :

        session_start();
        if ($_POST){
        require_once("./dbConfig.php");
         $now=date_create(trim($_POST["dt"],"'"));
         $id=$_POST["id"]; 
         $update_login="UPDATE users set login_time=? where id=?";
         $update_login=$db->prepare($update_login);  
         $update_login->bind_param("ss",$now,$id);
         $update_login->execute();
        }
    

    【讨论】:

      【解决方案3】:

      你可以试试

      <script>
        $(document).ready(function() {
              setInterval(() => {
                  var val1 = $("#id").val();
                  var val2 = $("#dt").val();
                  var object = {};
                  object.id = val1;
                  object.dt = val2;
            
                  $.ajax({
                      url: "refreshState.php",
                      type: "POST",
                      data: object
                  });
      
              }, 2000);
          });
      </script>
      

      【讨论】:

        猜你喜欢
        • 2017-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-12
        • 2012-12-04
        • 2019-10-13
        • 1970-01-01
        • 2021-10-30
        相关资源
        最近更新 更多