我想使用ajax get方法从页面获取3个数据。
javascript是
<script type="text/javascript">
var busy = false;
var limit = 15
var offset = 0;
var id = 150;
function displayRecords(lim, off) {
$.ajax({
type: "GET",
async: false,
url: "s.php",
data: "limit=" + lim + "&offset=" + off,
cache: false,
beforeSend: function() {
$("#loader_message").html("").hide();
$('#loader_image').show();
},
success: function(html) {
$("#results").append(html);
$('#loader_image').hide();
if (html == "") {
$("#loader_message").html('<button class="btn btn-default" type="button">No more records.</button>').show()
} else {
$("#loader_message").html('<button class="btn btn-default" type="button">Loading please wait...</button>').show();
}
window.busy = false;
}
});
}
$(document).ready(function() {
// start to load the first set of data
if (busy == false) {
busy = true;
// start to load the first set of data
displayRecords(limit, offset);
}
$(window).scroll(function() {
// make sure u give the container id of the data to be loaded in.
if ($(window).scrollTop() + $(window).height() > $("#results").height() && !busy) {
busy = true;
offset = limit + offset;
// this is optional just to delay the loading of data
setTimeout(function() { displayRecords(limit, offset); }, 500);
// you can remove the above code and can use directly this function
// displayRecords(limit, offset);
}
});
});
</script>
和s.php是
$limit = (intval($_GET['limit']) != 0 ) ? $_GET['limit'] : 10;
$offset = (intval($_GET['offset']) != 0 ) ? $_GET['offset'] : 0;
$id = $_GET['id'];
echo $id;
但是我无法获得id的值,每次我尝试新方法出错或显示错误时,php文件都不会使用ajax获取id值。但它会完美地获得限制和偏移的值。限制和偏移都不是常数值,但id是常数。
我该如何解决这个问题??
答案 0 :(得分:1)
您无法获取$ id的值,因为它未在ajax请求中发送。
data: "limit=" + lim + "&offset=" + off + "&id=" + id,
您可能想要在数据字符串中添加id。它现在应该工作。
答案 1 :(得分:0)
试试:
<script type="text/javascript">
window.onload=function(){
var auto = setTimeout(function(){ autoRefresh(); }, 100);
function submitform(){
alert('test');
document.forms["myForm"].submit();
}
function autoRefresh(){
clearTimeout(auto);
auto = setTimeout(function(){ submitform(); autoRefresh(); }, 10000);
}
}
</script>
答案 2 :(得分:0)
您的id
是一个变量,您需要将其作为下面的参数之一传递给请求。
data: {
'limit': lim,
'offset': off,
'id': id
}
避免手动编码查询字符串,因为jQuery
会自动为您执行以下操作:
data: "limit=" + lim + "&offset=" + off + "&id=" + id