在点击链接上发送$ _GET变量 - PHP&阿贾克斯

时间:2016-01-18 02:12:04

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

谢谢!

4 个答案:

答案 0 :(得分:0)

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

        }

答案 1 :(得分:0)

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

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

这是在没有刷新页面的情况下使用ajax函数。

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

使用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();
}
相关问题