点击链接发送 $_GET vars - PHP & Ajax


Send $_GET vars on click link - PHP & Ajax

我想使用 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代码,但我想得到一些建议来完成这个脚本。

谢谢!

您只需要一个基本的 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
                });
        }

在单击标签时添加函数。 然后使用以下方法定义该函数:

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

这是使用没有刷新页面的 ajax 函数。

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

其中一个是jQuery,另一个是mootools等。取决于您知道或想要学习的图书馆。

使用 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();
}