无法在另一个ajax中的ajax内部连接一个javascript变量

时间:2013-10-03 05:10:50

标签: javascript jquery ajax

我不确定如何提出这个问题,但我只是描述我的问题:

我有这个变量:

var htmlvalues = '';

然后我有一个ajax代码:

#for loop here
$.ajax({
  url : 'dasdasdas',
  ...
  ....
  ....
  success : function (data) { 
    #now this is my problem here:
    $.ajax({
    url : 'dasdsa',
    ........
    .............
    success : function (data again) {
    htmlvalues += 'some html values to concatinate';
  }
  });
});
#end of for loop here

所以在循环结束后我想显示那些html值:

$(".tech-file-upload-dialog").html( htmlvalues );

在上面的对话框中。但它只会显示一个空的对话框,我怀疑它无法在ajax的更深层部分获取这些值。我可以通过console.log看到我的数据已成功连接,它无法到达对话框部分。

2 个答案:

答案 0 :(得分:0)

使用 async:false ,因此您的代码可能如下所示。

var htmlvalues = '';

#for loop here
$.ajax({
async: "false",
  url : 'dasdasdas',
  ...
  ....
  ....
  success : function (data) { 
    #now this is my problem here:
    $.ajax({
    async: "false",
    url : 'dasdsa',
    ........
    .............
    success : function (data again) {
    htmlvalues += 'some html values to concatinate';
  }
  });
});
#end of for loop here

$(".tech-file-upload-dialog").html( htmlvalues );

答案 1 :(得分:-1)

将您的功能定义为

...
success: function(data) {
  //do something
}

这样,该函数将根据您在调用中定义的dataType从服务器获取响应,以便您可以访问所需的数据。