Javascript 使用Ajax、PHP和MySQL进行无限滚动时出错
我试图在我的应用程序中实现一个无限滚动,但在到达页面末尾的那一刻,这抛出了所发生的错误 这是Javascript 使用Ajax、PHP和MySQL进行无限滚动时出错,javascript,php,jquery,ajax,infinite-scroll,Javascript,Php,Jquery,Ajax,Infinite Scroll,我试图在我的应用程序中实现一个无限滚动,但在到达页面末尾的那一刻,这抛出了所发生的错误 这是ajax代码: <script type="text/javascript"> $(window).scroll(function() { if($(window).scrollTop() + $(window).height() >= $(document).height()) { var last_id = $(".post-id:la
ajax
代码:
<script type="text/javascript">
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() >= $(document).height()) {
var last_id = $(".post-id:last").attr("id");
loadMoreData(last_id);
}
});
function loadMoreData(last_id){
$.ajax(
{
url: '/loadMoreData.php?last_id=' + last_id,
type: "get",
beforeSend: function()
{
$('.ajax-load').show();
}
})
.done(function(data)
{
$('.ajax-load').hide();
$("#post-data").append(data);
})
.fail(function(jqXHR, ajaxOptions, thrownError)
{
alert('server not responding...');
});
}
</script>
此id用于另一个PHP
文件以加载更多数据:
<?php session_start();
require 'extras/config.php';
require 'functions.php';
comprobarSession();
$conexion = conexion($bd_config);
$qry = "SELECT * FROM publications WHERE id > '$_GET['last_id']' ORDER BY id DESC LIMIT 8";
$result = $conexion->query($qry);
print_r ($result);
$json = include('views/empleos.php');
echo json_encode($json);
该php文件的名称是什么?听起来不是loadMoreData.php
?可能是loadData.php
,应该更改AJAX调用吗?该php文件的名称是什么?听起来不是loadMoreData.php
?可能是loadData.php
,而AJAX调用应该更改?好吧,这是一个404。。。这意味着在下找不到load more端点。您可以通过什么url在浏览器中调用该脚本(不涉及js)?@simon.ro您有理由,在我的脚本中/loadMoreData
没有/
,我删除了tha,但还有另一个问题解析错误:语法错误,意外的“”(T_ENCAPSED_和_空格),需要标识符(T_字符串)或第10行C:\xampp\htdocs\talvez usuario\loadMoreData.php中的变量(T_变量)或数字(T_NUM_字符串)
首先,请注意“无限滚动”会增加某些用户浏览器的RAM使用量。我认为这是邪恶的,避免这样的页面。(浏览器开发人员似乎错误地认为现在所有用户都有无限的RAM。)祝贺您——您完成了“从停止的地方继续”代码,而不是LIMIT
和OFFSET
。令人惊讶的是,很少有人发现这一点。。。这意味着在下找不到load more端点。您可以通过什么url在浏览器中调用该脚本(不涉及js)?@simon.ro您有理由,在我的脚本中/loadMoreData
没有/
,我删除了tha,但还有另一个问题解析错误:语法错误,意外的“”(T_ENCAPSED_和_空格),需要标识符(T_字符串)或第10行C:\xampp\htdocs\talvez usuario\loadMoreData.php中的变量(T_变量)或数字(T_NUM_字符串)
首先,请注意“无限滚动”会增加某些用户浏览器的RAM使用量。我认为这是邪恶的,避免这样的页面。(浏览器开发人员似乎错误地认为现在所有用户都有无限的RAM。)祝贺您——您完成了“从停止的地方继续”代码,而不是LIMIT
和OFFSET
。令人惊讶的是,很少有人发现这一点。事实上,就像我之前说的,它不是/loadMoreData.php
它是loadMoreData
而没有/
但是,如果我去掉斜杠,它会形成一个无限循环,但实际上它不会改变,就像我之前说的那样,它不是/loadMoreData.php
它是loadMoreData
而不是/
但是,如果我删除斜杠,它会形成一个无限循环,但不会更改id
<?php session_start();
require 'extras/config.php';
require 'functions.php';
comprobarSession();
$conexion = conexion($bd_config);
$qry = "SELECT * FROM publications WHERE id > '$_GET['last_id']' ORDER BY id DESC LIMIT 8";
$result = $conexion->query($qry);
print_r ($result);
$json = include('views/empleos.php');
echo json_encode($json);