Js进度在get()或load()之后停止

时间:2012-12-28 06:42:32

标签: javascript jquery ajax get load

我有一个点击功能会首先加载页面然后继续剩余的过程。

我的问题是第一次点击,“继续这里”将在$.get()功能后停止。

但是,在SECOND点击它会正常工作。

.click(){
  $.get(url, function(data){ content = data; } );

  // Continue here
  var x = content or etc...

}

有人对此有所了解吗?我确定问题来自ajax加载,我有办法逃避这个吗?谢谢你的建议!

2 个答案:

答案 0 :(得分:2)

Get是异步的,您必须将代码放在函数

.click(){
  $.get(url, function(data){ 
    var content = data; 

    // Continue here
    var x = content; // or etc...
  });
}

答案 1 :(得分:1)

您没有发布太多代码,但我猜这个问题是由于您的get调用是异步的。因此,您的变量content尚不存在。

.click(){
  $.get(url, function(data){ 
        content = data; } 
 );

 // Continue here
 var x = content; 

 //but content isn't anything yet because GET has not yet returned from the server. 
 //By the time you click a second time, the data has finally round tripped.

你必须在回调中做X.

.click(){
   $.get(url, function(data){ 
        content = data; 
        var x = content;
    } 
);