2012-12-28 59 views
1

我有一个点击函数会先载入页面,然后继续剩下的过程。Js get()或load()后停止进度

我的问题是在第一次点击“Continue Here”后会停止$.get()功能。

但是,在第二次点击它会正常工作。

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

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

} 

有没有人有这方面的想法?我确信问题来自ajax加载,我有办法逃避这个吗?感谢您的建议!

回答

2

得到的是异步的,你必须把你的代码的功能

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

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

非常感谢你! – Till

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; 
    } 
); 
+0

非常感谢你在里面! – Till