当我点击网址时,我想要一个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
答案 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;
?>