Php 滚动不工作时加载内容
我正在编写一个代码,滚动到窗口底部,在php代码的帮助下加载另一个数据。 它加载load_first.php文件,但不标识load_second.php文件 此代码中有什么问题请参见此Php 滚动不工作时加载内容,php,jquery,Php,Jquery,我正在编写一个代码,滚动到窗口底部,在php代码的帮助下加载另一个数据。 它加载load_first.php文件,但不标识load_second.php文件 此代码中有什么问题请参见此 <?php $_SESSION['first']=1; if($_SESSION['first']==1) { ?> <script type="text/javascript"> $(window).scroll(function(){ if($(window
<?php $_SESSION['first']=1; if($_SESSION['first']==1) { ?>
<script type="text/javascript">
$(window).scroll(function(){
if($(window).scrollTop() == $(document).height() - $(window).height()){
$('div#last_msg_loader').html('<img src="loading.gif">');
var data="cachekey=" + $('.cachekey').val()+"&cachelocation="+ $('.cachelocation').val();
$.ajax({
url: "load_data.php?last_msg_id="+ID,
data:data,
error:function(error)
{
alert(error);
},
success: function(html){
if(html){
$(".message_box:last").after(data);
$('div#last_msg_loader').hide();
}else{
$('div#loadmoreajaxloader').html('<center>No more posts to show.</center>');
}
}
});
}
});
</script>
<?php
include('load_first.php');
?>
<?php
}
else
{
include('load_second.php');
}
?>
<div id="last_msg_loader"></div>
$(窗口)。滚动(函数(){
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height()){
$('div#last_msg_loader').html(“”);
var data=“cachekey=“+$('.cachekey').val()+”&cachelocation=“+$('.cachelocation').val();
$.ajax({
url:“load_data.php?last_msg_id=“+id,
数据:数据,
错误:函数(错误)
{
警报(错误);
},
成功:函数(html){
如果(html){
$(“.message_box:last”)。在(数据)之后;
$('div#last_msg_loader').hide();
}否则{
$('div#loadmoreajaxloader').html('不再显示帖子');
}
}
});
}
});
实际上,此代码用于使用expedia的xml api加载酒店列表。如果您的if/else逻辑出现错误,请执行此操作。首先,设置:
$_SESSION['first']=1;
然后,您可以直接使用if:
if($_SESSION['first']==1) {
这意味着这永远是真的。else条款:
else
{
include('load_second.php');
}
因此,它永远不会被触发。这与写作同样重要:
if (TRUE) {
} else {
# PHP will never go here.
}
因此,无论您想对
$\u SESSION
变量做什么,在任何情况下都不能让它包含load\u second.php
您假设此条件在滚动的底部为真
if($(window).scrollTop() == $(document).height() - $(window).height())
使用控制台记录您将看到的值,它们从来都不是完全相等的我将$_session['first']值更改为2,在它转到load_first.php之后,因此现在if()条件更改为false,因此它转到else条件您可能还需要替换
$_session['first']=1使用if(!isset($\u SESSION['first']){$\u SESSION['first']=1;}
-因此,如果已设置,则不会将其再次设置为1。