2016-05-16 79 views
0

我有这样的代码:jQuery的岗位不要求

$(".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){ ....和变化区间有:$('#mcd').html(cmd); } 还当我尝试上面的代码添加到时间间隔没有任何反应,脚本不起作用。所以我想知道为什么我得到消息"Empty";当它是后发送请求和发布成功?

+0

抓取的网页每100毫秒加载?为什么?此外GET请求缓存,你是否设置无缓存头? – epascarello

+0

这是'd/gcm.php'脚本中的所有内容吗? – RiggsFolly

+0

console.log(cmd)并显示请求的结果 – siddhesh

回答

0

​​请求是GET请求。所以,你可能会改变对jQuery.post()代替:

​​

,我不认为你应该有一个的setInterval推在这里。

+1

实际上,如果您将参数添加到'。加载“它会自动转换为”type:POST“。或者我只是在jQuery文档中阅读!我在这里@epascarello – RiggsFolly

+0

我做了这个代码之前,我得到了我想要的,但是当我在MySQL基础中收回新数据时,我想输出它而无需重新加载页面...我问及人们说设置的时间间隔只是选项那。你能告诉我如何获得信息,无需重新加载一个页面,如果可能的话没有间隔... – LittleProgrammer96

+0

@ LittleProgrammer96那么这很好,使用setInteval。虽然Oberservers或投票将是其他选择。 – Jai

0

试试这个代码 使用这种后阿贾克斯成功响应

$('.user').on("click",function(e){ 
     e.preventDefault(); // cancel click 
     var page = $(this).attr('data-tt'); or 'data-t' 
     $('#mcd').load(page); 
    }); 
+0

这不是我所需要的 – LittleProgrammer96

+0

你的div无法正确加载? – siddhesh

+0

$就({ 类型: '后', URL: 'd/gcm.php', 数据:{S:S,R:R}, 成功:函数(CMD){ $(” (“#smt”)。attr(“data-tt”,r); (“#smt”); $(“#smd”)。attr(“data-t”,s); $ setInterval(function(){ var divreload = $(this).attr('data-tt');或'data -t' $('#mcd')。load(divreload); },100); } }); – siddhesh