我正在努力的路线是
url:"../php/loadmorecommentsuserpage.php?profilepageuserid=$profilepageuserid&lastComment="+$(".postedComment:last").attr("id"),
我想通过GET将$ profilepageuserid发送到loadmorecommentsuserpage.php,但它无法正常工作。
具体说明$ profilepageuserid所代表的值未被发送。那么语法错了吗?
$ profilepageuserid是PHP中的变量,我想通过JS发送它
<script>
$(document).ready(function(){
$('div#text').click(function(){
$("div#text").hide();
$('div#loadMoreComments').show();
$.ajax({
url:"../php/loadmorecommentsuserpage.php?profilepageuserid=$profilepageuserid&lastComment="+$(".postedComment:last").attr("id"),
success:function(html){
if(html){
$("#postedComments").append(html);
$('div#loadMoreComments').hide();
$('div#text').show();
}else{
$('div#box').replaceWith("<div class='box'><center>Finished Loading the Comments</center></div>");
}
}
});
});
});
</script>
答案 0 :(得分:3)
$(function() {
//your variable
//if it's from PHP, you need to echo it to a JS variable
var profilepageuserid = '<?= $profilepageuserid ?>'
$('div#text').on('click',function() {
//store required data into variables
//keeps your code readable
var commentid = $(".postedComment:last").attr("id");
$(this).hide();
$('div#loadMoreComments').show();
$.ajax({
url:"../php/loadmorecommentsuserpage.php",
//instead of a very long querystring, just do "data"
data : {
'profilepageuserid' : profilepageuserid,
'lastComment' : commentid
},
success: function(html) {
if (html) {
$("#postedComments").append(html);
$('div#loadMoreComments').hide();
$('div#text').show();
} else {
$('div#box').replaceWith("<div class='box'><center>Finished Loading the Comments</center></div>");
}
}
});
});
});
答案 1 :(得分:1)
好的。这就是PHP与Javascript交互的方式。简单地说,它几乎没有。 PHP由服务器运行,后者生成文本。这个文本被发送到浏览器,浏览器运行任何Javascript,抓取图像等。幸运的是,由于Javascript是该文本的一部分,我们可以将我们想要的任何数据塞进那里,包括任何服务器状态。
因此,要在客户端初始化Javascript变量(var foo
)(例如,$bar
的当前值),您需要将该数据填充到Javascript变量声明中。您希望客户看到的内容如下:
var foo = 3; // or whatever else, depending on $bar
因此,为了做到这一点,您需要在正确的时间echo
$foo
的值,包含Javascript语法:
echo "var foo = $bar;";
请记住,您只是将数据发送到客户端,以便稍后运行(或不运行)。你可以从不&#34;拉&#34;数据从浏览器返回到仍在运行的脚本。当浏览器获取数据时,脚本已经完成运行,服务器已经转移到其他有用的东西,例如枚举数据库。