我有这样的代码:
$(".user").click(function(){
var s = $(this).attr('data-s');
var r = $(this).attr('data-r');
$.ajax({
type: 'post',
url: 'd/gcm.php',
data: {s: s, r: r},
success: function(cmd){
$("#cet").show();
$("#smd").attr("data-t",s);
$("#smd").attr("data-tt",r);
setInterval(function(){
$('#mcd').load('d/gcm.php');
}, 100);
}
});
});
因此,点击帖子是请求的。在gcm.php中,我有:
$s = mysqli_real_escape_string($con, $_POST['s']);
$r = mysqli_real_escape_string($con, $_POST['r']);
if($s!="" && $s!=NULL && $r!="" && $r!=NULL){ DO SOMETHING }else echo "Empty";
现在,当我这样做的时候,它起作用了:
success: function(cmd){
...当我尝试将上面的代码添加到interval时,没有发生任何事情,脚本也不工作。更改interval:$('#mcd').html(cmd); }
。所以我想知道为什么在post请求和post成功之后收到消息"Empty";
?
发布于 2016-05-16 11:16:17
.load()
请求是GET
请求。因此,您可以改为使用jQuery.post()
:
//setInterval(function(){
$.post('d/gcm.php', {s: s, r: r}, function(d){
$('#mcd').html(d);
});
//}, 100);
我不认为你应该在这里有一个setInterval推送。
发布于 2016-05-16 11:58:02
尝试此代码,在ajax成功响应后使用此代码加载
$('.user').on("click",function(e){
e.preventDefault(); // cancel click
var page = $(this).attr('data-tt'); or 'data-t'
$('#mcd').load(page);
});
https://stackoverflow.com/questions/37252484
复制相似问题