如何通过AJAX将变量添加到PHP脚本中
我有两个变量,我正试图将它们传递给我的PHP脚本,以便在sql语句中使用,但它似乎不适合我。知道为什么我不能为$start和$limit变量获取值吗?我是不是遗漏了什么 以下是my index.php页面上的2个javascript变量:如何通过AJAX将变量添加到PHP脚本中,php,jquery,ajax,Php,Jquery,Ajax,我有两个变量,我正试图将它们传递给我的PHP脚本,以便在sql语句中使用,但它似乎不适合我。知道为什么我不能为$start和$limit变量获取值吗?我是不是遗漏了什么 以下是my index.php页面上的2个javascript变量: var start = 0; var limit = 5; var reachedMax = false; $(window).scroll(function(){ if($(window).scrollTop() == $(document).he
var start = 0;
var limit = 5;
var reachedMax = false;
$(window).scroll(function(){
if($(window).scrollTop() == $(document).height() - $(window).height()){
infiniteScrollData();
}
});
$(document).ready(function(){
//infinite scroll
infiniteScrollData();
}
function infiniteScrollData(){
if(reachedMax){
return;
}
$.ajax({
method: "POST",
url: "sortResults.php",
dataType: "json",
data: {
infiniteScrollData: 1,
start: start,
limit: limit
},
success: function(response){
if(response == "reachedMax")
reachedMax = true;
else{
start += limit;
$("#rowDisplayResults").append(response);
}
}
});
}
然后,我的javascript文件中有我的javascript函数,它将把这两个变量发送到我的php页面:
function infiniteScrollData(){
if(reachedMax){
return;
}
$.ajax({
method: "POST",
url: "sortResults.php",
dataType: "json",
data: {
infiniteScrollData: 1,
start: start,
limit: limit
},
success: function(response){
if(response == "reachedMax")
reachedMax = true;
else{
start += limit;
$("#rowDisplayResults").append(response);
}
}
});
}
然后我的php脚本中有两个变量,如下所示:
if(isset($_POST['infiniteScrollData'])){
$start = check_input($_POST['start']);
$limit = check_input($_POST['limit']);
$query = "SELECT * FROM topics DESC LIMIT :start, :limit";
$stmt = $conn->prepare($query);
$stmt->bindParam(':start', $start, PDO::PARAM_INT);
$stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
$stmt->execute();
}
检查输入只是一个清除数据的函数
function check_input($dirtData) {
$dirtData = trim($dirtData);
$dirtData = strip_tags($dirtData);
$dirtData = stripslashes($dirtData);
$dirtData = htmlspecialchars($dirtData);
$dirtData = filter_var($dirtData, FILTER_SANITIZE_STRING);
return $dirtData;
}
检查输入法是否正常
- 检查是否已经开始,首先将变量限制在js代码中
- 检查您的URL是否为正确的URL
check\u input()函数是什么?没有本机的check\u input()函数,能否显示check\u input()的代码。它是类的一部分吗?我在问题中添加了check输入函数。您的代码看起来不错,所以您应该检查出了什么问题。您的意思是,您无法获取
$start
和$limit
变量的值,但最好添加var\u dump($start,$limit)在SQL查询之前,检查它们的值是否为空。顺便说一句,在添加评论时,你必须使用@username来提及用户,否则他们将无法收到你的通知。谢谢@Victor提供的信息,我对此还是有点陌生。我添加了一些额外的代码来显示我目前拥有的。是的@THEWOLF,似乎我得到了它们的空值。所以我猜这意味着它们没有被传递到我的.js文件中。。您的php文件正常问题在js文件中。。试着开始并限制在那里。。。我想这只是一个小问题,好吧,我将试着找出如何通过jquery文件来解决这些问题。谢谢你的帮助。@THEWOLF