在我的頁面上,我想檢查用戶是否已登錄,如果他是我允許用戶執行各種操作(如上傳像下面的照片)。要檢查如果用戶登錄,我寫了jQuery的這個簡單的功能..rails + jquery函數回調問題
$(document).ready(function(){
function checkLogin(callback){
<% if !current_user %>
$.colorbox({href:"/signup", width: "400px", height: "200px"});
var status = false;
callback(status)
<% end %>
}
,當我要檢查,如果用戶登錄或不,我所說的上面:
$(".upload-pics").click(function(){
checkLogin(function(c){
if(c == false){
return false;
}
});
// open colorbox to upload pictures
$("a.upload-pics").colorbox();
})
問題是,每次我打電話給checkLogin並說用戶沒有登錄時,「返回false」並不會阻止其他代碼執行,這意味着無論如何都會觸發上傳圖片的colorbox代碼。真奇怪的是,「return false」確實被執行了,但並不能阻止剩下的代碼執行。我的代碼有問題嗎?謝謝。
我不關注。函數checkLogin不會返回任何東西,所以在上面的例子中,x總是未定義的。我應該改變我的函數來返回一些值來滿足x? – absolutskyy 2012-08-16 21:54:35
做了一些改變,並得到你在什麼。謝謝。 – absolutskyy 2012-08-16 22:04:05