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

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);
}
}
你测试一下,如果新加成功后,有没有执行到这个方法里面去。如果没有,那说明这里可能有问题。