【问题标题】:Send $_GET vars on click link - PHP & Ajax在点击链接上发送 $GET 变量 - PHP 和 Ajax
【发布时间】:2016-01-18 02:12:03
【问题描述】:

我想使用 PHP 和 Ajax 自动更新页面。现在我在页面上有这段代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<a href="Page-Like.php?idSub=12&idCat=32" class="post"><i class="fa fa-heart-o"></i></a>
</body>
</html>

当用户点击链接时,它会被重定向到另一个名为“Page-Like.php”的页面

include("config.php");

//get vars
$idSubliminal=$_GET["idSubliminal"];
$idCategoria=$_GET["idCategoria"];

// mysql_query("insert into Rating .... (mysql insert query)


echo "<script>
location.href=\"AudioSubliminal.php?idSubliminal=$idSubliminal&idCategoria=$idCategoria\";
</script>";

我想要的是使用 Ajax 来执行此操作,以便不刷新页面。我知道我缺少 javascript 代码,但我想获得一些建议来完成这个脚本。

谢谢!

【问题讨论】:

标签: javascript php ajax


【解决方案1】:

您只需要一个基本的 ajax 请求来实现您的功能。检查下面的示例请求。

  function ajaxpr(){
        var URLString="idSub=12&idCat=32"; 
        ajax_request = $.ajax({
               type: 'GET',
               url: "Page-Like.php",
               data: URLString,
               dataType : 'html',
               context: $(this),
               success: function (msg) 
               {
                    //perform the required operation after success
                });

        }

【讨论】:

    【解决方案2】:

    在标签上添加功能 onclick 。然后使用 :

    定义该函数
    $.ajax({
            type: 'GET',
            data: {idSub: "12", idCat: "32"},
            url: "Page-Like.php",
            dataType: 'JSON',
            success: function (response, textStatus, jqXHR) {
                //DEFINE FUNCTION HERE
            }
        });
    

    这是使用ajax功能,不刷新页面。

    【讨论】:

      【解决方案3】:

      您可以使用多种方法在您的代码上实现 Ajax。

      其中一个是jQuery,另一个是mootools,等等。取决于您知道或想学习的哪个库。

      【讨论】:

        【解决方案4】:

        使用 ajax 加载页面很容易。点此链接http://www.w3schools.com/ajax/

        function loadDoc() {
          var xhttp = new XMLHttpRequest();
          xhttp.onreadystatechange = function() {
            if (xhttp.readyState == 4 && xhttp.status == 200) {
             // Change this to your desired DOM tag
             document.body.innerHTML = xhttp.responseText;
            }
          };
          xhttp.open("GET", "Page-Like.php?idSub=12&idCat=32", true);
          xhttp.send();
        }
        

        现在只需让事件监听器运行 loadDoc() 函数即可。如果链接是动态的,则可以将参数解析为函数。

        但是,我注意到您的 php 中有一个 js 脚本,它将再次重定向到 AudioSubliminal.php。如果这是您想要的流程,那么没关系。如果没有,你可以创建另一个函数

        function loadAudioSubliminal(idSub, idCat) {
              var xhttp = new XMLHttpRequest();
              xhttp.onreadystatechange = function() {
                if (xhttp.readyState == 4 && xhttp.status == 200) {
                 // Change this to your desired DOM tag
                 document.body.innerHTML = xhttp.responseText;
        
                }
              };
              xhttp.open("GET", "AudioSubliminal.php?idSubliminal=" + idSub + "&idCategoria=" + idCat, true);
              xhttp.send();
            }
        

        并修改 loadDoc() 以接收参数,以便可以再次传递 idSub 和 idCat。例如:

        function loadDoc(idSub, idCat) {
            var xhttp = new XMLHttpRequest();
            if (xhttp.readyState == 4 && xhttp.status == 200) {
               // Change this to your desired DOM tag
               document.body.innerHTML = xhttp.responseText;
        
               // run the function after finished loading Page-like.php
               loadAudioSubliminal(idSub, idCat)
            }
            xhttp.open("GET", "Page-Like.php?idSub=" + idSub + "&idCat=" + idCat, true);
            xhttp.send();
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-31
          • 2012-06-25
          • 2015-09-30
          • 2015-08-17
          • 2014-02-08
          • 2014-04-27
          相关资源
          最近更新 更多