您好,我正在尝试检索没有页面刷新的数据,请参阅我的ajax代码
function ajaxCall() {
$.ajax({
type: "post",
cache: false,
url: "test2.php",
success: (function (result) {
$("#user2").html(result);
})
})
};
ajaxCall();
setInterval(ajaxCall, (2 * 1000));
Test2.php中的
<div id="user2">
Data loads here
</div>
使用此代码加载整个页面,但我只需要div内容请帮助我提前谢谢
答案 0 :(得分:0)
试试这个 -
function ajaxCall() {
$.ajax({
type: "get",
cache: false,
url: "test2.php",
success: (function (result) {
$("#user2").html(result);
$("#user2").load(location.href + " #user2");
})
})
};
ajaxCall();
setInterval(ajaxCall, (2 * 1000));
您也可以尝试第二种方法 -
(function ajaxCall(){
$.get('test2.php')
.done(function(data){
$('#user2').html(data);
})
.always(function(){
setInterval(ajaxCall, (2 * 1000));
});
}());
答案 1 :(得分:0)
你需要阻止默认行为,使这项工作所需要的只是一个返回false;来自处理函数。
在jQuery事件处理程序中返回false实际上与调用e.preventDefault和e.stopPropagation相同。
最好使用get请求。
您的代码应如下所示:
function ajaxCall() {
$.ajax({
type: "get",
cache: false,
url: "test2.php",
success: (function (result) {
$("#user2").html(result);
})
})
return false;
};
ajaxCall();
setInterval(ajaxCall, (2 * 1000));
答案 2 :(得分:0)
您可以测试此代码。
function ajaxCall() {
$("#whereYouWantToShow").load("test2.php div#user2");
};
ajaxCall();
setInterval(ajaxCall, (2 * 1000));