等待ajax在javascript函数中完成

时间:2016-02-20 05:39:16

标签: javascript jquery ajax

基本上我需要一种方法来等待uniqueID()函数中的ajax调用在它向createColumns()函数中的while调用返回值之前完成。目前一切正常但是在HTML中id未定义,在函数完成后大约半秒钟应该在html中的id被警告。

我的问题与标记为重复的问题之间的区别在于我的调用是在while循环中。这意味着无法成功使用回调函数。

如果这没有多大意义,请告诉我。谢谢!

var uniqueid = ""; 
function uniqueID() {
  uniqueid = "";
  $.ajax({
    url: '....',
    type: 'post',
    data: { "uniqueidfunc": "1"},
    success: function(response) { 
      uniqueid = response; 
      alert(uniqueid);
      return uniqueid;
    }
  });
}

var i = "";
var columns = "";
function createColumns(x) {
  i = 0;
  columns = "";
  while (i < x) {
    columns += '<div class="column col-'+x+'" id="'+uniqueID()+'"></div>';
  i++;
  };
  return columns; 
}

$(document).delegate('.tcolumn', 'click', function(){
	colummnum = $(this).attr("id");
	colummnum = colummnum.replace("tcolumn-", "");
	$(this).parent().next().html(createColumns(colummnum));
});

0 个答案:

没有答案