【问题标题】:PHP ajax GET data won't sendPHP ajax GET数据不会发送
【发布时间】:2017-07-12 20:50:38
【问题描述】:

我有一个简单的应用程序,其中我有一个表格,其中填充了来自数据库的数据,并且我在表格中有一个链接,当我点击它时我需要它在 PHP 中执行某些操作,问题是我一直一直在尝试,但在这里不起作用是我的代码。

HTML/AJAx

<script> 


     $(document).ready(function(){
        $(".LogOut").click(function() {
            var log = "LogOut";
            $.ajax ({
                cache: false,
                data: { Log : log },
                success: function( result ) {

                }
            });
        });
    }); 

    $(document).ready(function(){
        $(".Manage").click(function() {
            var logs = this.getAttribute('value');
            $.ajax ({
                cache: false,
                data: { 'sami' : logs },
                success: function( result ) {

                }
            });
        });
    }); 

             </script> 

PHP

if(isset($_GET['sami'])){ 
    echo "<script>alert('Addition Successfull !!.');</script>";
    $sql = "select UID,Valid from users where Email='".$_GET['Sari']."';";
    if($result = $conn->query($sql)){
        if($result->num_rows){ 
            $raw = $result->fetch_assoc();
            if($raw['Valid'] === '1'){
                $_SESSION["UID"]= $raw['UID'];
                header("Location:manage.php"); /* Redirect browser */
            }else{
                header("Location:manage.php");
            }
        }
    }
}

if(isset($_GET['Log'])){
    session_destroy();
    header("Location:index.php");
}

问题是,第一个 ajax 工作起来很迷人,即 (logOut),但另一个发送“sami”的 ajax 根本不工作。

在每个人都抱怨 ajax 发送到同一页面的 URL 之后,但我添加的 url 仍然不起作用。 谢谢

最好的问候

【问题讨论】:

  • 您没有提供url。您的数据将发送到哪个页面? 无处
  • 事情是第一个没有url,而且我试过url没有运气。
  • 你是如何检查没有运气的?
  • 如果您不提供 URL,它将提交到当前 URL,因此您的第一个代码示例可能最终会靠运气
  • 在使用 AJAX 时不能从 PHP 重定向浏览器。这只是告诉 AJAX 从该新 URL 获取 result

标签: javascript php jquery ajax


【解决方案1】:

更改 PHP 代码,使其在打印 AJAX 结果后退出。否则,您将陷入打印完整 HTML 页面的代码。

if(isset($_GET['sami'])){ 
    echo "<script>alert('Addition Successfull !!.');</script>";
    $sql = "select UID,Valid from users where Email='".$_GET['Sari']."';";
    if($result = $conn->query($sql)){
        if($result->num_rows){ 
            $raw = $result->fetch_assoc();
            if($raw['Valid'] === '1'){
                $_SESSION["UID"]= $raw['UID'];
                header("Location:manage.php"); /* Redirect browser */
            }else{
                header("Location:manage.php");
            }
        }
    }
    exit();
}

if(isset($_GET['Log'])){
    session_destroy();
    header("Location:index.php");
    exit();
}

【讨论】:

  • 谢谢,还是同样的问题,细的是 ajax“日志”工作正常,我在其他页面中还有其他几个 ajax 工作正常!!
【解决方案2】:

您的 sql 语句使用变量 $_GET['Sari'] 而不是 $_GET['sami'] 并且您的 ajax 请求使用的是 'sami'。将“Sari”替换为“sami”

【讨论】:

  • 它甚至没有达到那个点,我知道那个错误,但它甚至没有通过 if 语句。
  • 转储你的 get 和你的 post 变量,以确保其中一个被设置。我不确定默认使用哪一个 ajax,但您没有指定其中一个。 print_r($_GET);打印_r($_POST)。检查是否有萨米。
  • 注意:未定义的索引:sami 这就是我得到的
  • 你知道logs里面有没有数据吗?我还将指定您尝试发出的请求类型,以确保获取或发布,然后转储整个获取和发布变量以进行验证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-11
  • 2017-07-12
  • 1970-01-01
  • 2016-03-09
  • 2014-01-11
  • 2012-04-08
相关资源
最近更新 更多