在$.post()函数外 使用$.post()返回函数的数据

本来我的想法是 将$.post()返回函数的数据取出来操作,在网上搜了很久,说是将$.post()方法改为同步,并将$.post()返回的数据赋值给一个全局变量的方法。

function getData(pageCurrent)
{

  var result;

  $.ajax({
  url: "/ajax/signMain.ashx",
  async: true,//改为同步方式
  type: "POST",
  data: { "pageCurrent": pageCurrent },
  success: function (data) {
  data = eval('(' + data + ')');
  result=data;

  alert(result);
  }

  alert(result);
});


}

第一个 alert 正常输出数据,第二个alert 显示的是undefined.  很多帖子说这个方法可以将$.post()的返回数据取出了,但我这确实不好用(如果 你的好用可以指点下在下,不胜感激。),只能另想他法了

function getData(pageCurrent,callback)
{
  $.ajax({
  url: "/ajax/signMain.ashx",
  async: true,/
  type: "POST",
  data: { "pageCurrent": pageCurrent },
  success: function (data) {
  data = eval('(' + data + ')');
  callback(pageCurrent,data);
  }
  });

}

弄了个回调函数,在$.post()的返回函数里调用外部的函数,在调用外部函数的同时,把data作为形参传给外部函数,这样,$.post()外面的函数就变相的取得了$.post()里的数据。

原文地址:https://www.cnblogs.com/wsz168/p/5085519.html