ajax将变量加载到div中,将var传递给php

时间:2014-03-09 11:40:56

标签: php jquery html css ajax

当我点击网址时,我想要一个div来显示网址的ID。 我不能让div显示id的值。 我在这里做错了什么。

我有以下div:

<div id="details">
</div>

我还有以下锚点(在php标签之间):

<a id=\"rapportshow\" idnr=\"".$row[0]."\" href=\"vakgroep.php?id=".$row[0]."\" > ". $row[1]."</a>

然后我有以下javascript:

 $('.container').on('click', '#rapportshow', function(event){
                  event.preventDefault();
                  var idnr = $(this).attr('id');
                  url = "vakgroep.php?idnr="+idnr;
                  console.log(url);
                        $("#details").load(url, function() {
                        });
                  });

最后我有vakgroep.php:

<?php 
echo "hi! "; 
$idnr2 = $_GET['idnr']; 
echo "aaa " . $idnr; 
?>

控制台记录网址并显示:vakgroep.php?idnr = rapportshow 当我点击网址时,我希望div显示

  

喜! aaa rapportshow

但它显示

  

喜! AAA

4 个答案:

答案 0 :(得分:1)

您已经构建了整个网址,但您又将其作为idnr的值附加。试试这个

$('.container').on('click', '#rapportshow', function(event){
                  event.preventDefault();
                  var idnr = $(this).attr('id');
                  url = "vakgroep.php?idnr="+idnr;
                  console.log(url);
                        $("#details").load(url);
                  });

你的php必须是。字符串连接在php中使用(。)完成。您附加的变量也是错误的。它必须是$ idnr2而不是$ idnr

<?php
echo "hi!";
$idnr2 = $_GET['idnr'];
echo "aaa ".$idnr2;
?>

对于字符串操作,请参阅this

答案 1 :(得分:1)

问题#1:echo "aaa " + $idnr; +符号不适用于PHP中的连接,就像在JS中一样。你想要echo "aaa " . $idnr;

问题#2:PHP $ _GET魔术数组由服务器在页面加载时计算一次。在页面加载后通过JS更新URL时,不会更改PHP中$ _GET数组的值。您必须使用新URL重新加载页面,以便在本地查看PHP中的$ _GET var。

除了花一些时间考虑你真正想要对该参数做什么,并决定是否应该重新加载页面,或者使用JS而不是PHP来获取你的内容之外,没有真正的“修复”。需要完成。

答案 2 :(得分:1)

我发现我怎么能意识到自己真正想要的东西:

$('.container').on('click', '#rapportshow', function(event){
                  event.preventDefault();
                  var idnr = $(this).attr('idnr');
//                url = "vakgroep.php?idnr="+idnr;
//                console.log(url);
//                      $("#details").load(url, function() {
//                      });
                        $.ajax({
                    type:"get",
                    url: "vakgroep.php",
                    data: {variable1 : idnr},
                    success: function(data){
                    //do stuff after the AJAX calls successfully completes
                    $('#details').html(data);
                        }
                    });

                  });

和vakgroep.php

<?php
echo "hi! ";
//$idnr2 = $_GET['idnr'];
 $ajax_var1 = $_GET['variable1'];
//echo "aaa " . $idnr;
echo "bbb " . $ajax_var1;
?>

答案 3 :(得分:0)

<?php
echo "hi!";
$idnr2 = $_GET['idnr'];
echo "aaa ".$idnr2;
?>