2011-12-18 32 views
0
$(".eventer button[name=lol]").click(function() { 
    console.log('clicked'); 
    thisBtn = $(this); 
    parent = $(this).parent(); 
    num = parent.data('num'); 
    id = parent.data('id'); 

    if(typeof num != 'number'){ 
     num = 0; 
    } 

    $(this).attr('disabled', true); 
    $.post(
     'javas.php', 
     { 
      num: (num+1), 
      id: id 
     }, 
     function(data) { 
      console.log('Ajax  success'); 

      parent.next('.status').html(num); 
      thisBtn.attr('disabled', false); // reset }); 

      console.log('Ajax success'); 
      parent.data('num', ++num); 
      parent.next('.status').html(num); 
      thisBtn.attr('disabled', false); // reset 
     } 
    ); 
}); 

console.log('-- end'); 

我得到javas.php一个未定义的错误索引,NUM没有被正确发送到页面,此外没有显示从javas.php的HTML代码段.STATUS类,因为它应该。

这是javas.php页面,num应该在这里发布,然后回显应该发生在主页面上的正确状态类中,但这不会发生,只有num的值显示在主页。

<?php 
    $lol = $_POST['num']; 
    echo " $lol haha lol cakes"; 
?> 
+5

获取Firebug的,看看究竟是什么已被送往 – zerkms 2011-12-18 21:08:10

+0

它说,它发送和它的工作,但是当我去javas.php它说未定义指数错误 – foshoeiyyy 2011-12-18 21:15:02

+0

如果更换,会发生什么你的邮政编码用'$ .post('javas.php',{num:“test”},...);'或服务器端用'phpinfo()'检查POST变量? – Jeroen 2011-12-18 21:32:35

回答

0

未显示从PHP脚本代码段的原因是因为该行的:

parent.next('.status').html(num); 

即设置状态类来显示您发布的数量,而不是返回的数据。

改成这样

parent.next('.status').html(data);