日期:2014-05-16  浏览次数:20666 次

ajax获取不到新提交的数据
默认用ajax获取列表
$(document).ready(function() {
  get_pm(1);
});

// 获取信息
function get_pm(page)
{   
    var list = '';
    $.get(MODULE_URL + 'getpm', {"touid":touid, "page":page}, function(response){
        $.each(response.data, function(key, rows) {
            list += rows['content'];
        });
        $(".weibo_list").html(list);
}

// 表单提交函数
function save()
{
    var fromuid = $('#fromuid).val(); 
    var msgto = $('#msgtoid').val();
    var content = $('#content').val();
    var replyid = $('#replyid').val();
    var image = $('#image').val();
    $.post(MODULE_URL + 'dosend', {"fromuid":fromuid, "msgto":msgto,"replyid":replyid, "content":content, "image":image}, function(response){
        if (response.error_code > 0)
        {
            alert(response.msg+'('+response.error_code+')');
        }
        else
        {    
            $('.send_success').show();
            get_pm(1);
            setTimeout(hide_success, 2000);
        }
    }, 'json');
}
 
// 隐藏发送成功div
function hide_success()
{
    $('.send_success').hide();
    // location.reload(); 
}

现在问题是:
我表单提交成功时调用了get_pm(1);应该是重新请求了数据,
表单提交成功了,数据也加到数据库了,但是新的数据无法显示出来,必须刷新下页面才行,不知道是怎么回事?
是ajax哪里用错了吗?
------解决方案--------------------
1.  用$.post
2.  $.get的时候的参加附加一个随机数
------解决方案--------------------
function(response){
  if (response.error_code > 0)
  {
  alert(response.msg+'('+response.error_code+')');
  }
  else
  {   
  $('.send_success').show();
  get_pm(1);
  setTimeout(hide_success, 2000);
  }
  }
你测试一下,如果新加成功后,有没有执行到这个方法里面去。如果没有,那说明这里可能有问题。