2013-09-22 71 views
0

我正在Jquery中通過使用ajax訪問checkdate.php驗證給定日期的函數。 checkdate.php使用checkdate(),如果日期有效,則返回「success」。這是我的jQuery功能。創建一個函數驗證日期使用jquery ajax和php checkdate()函數

function checkdate(sample) 
    { 
    $.get('checkdate.php?dateSample='+ sample, function(data){ 
    if(data == 'success') 
     return true; 
    else 
     return false; 
    }); 
    } 

checkdate.php沒有錯誤的原理,我敢肯定的說,但我的問題是,當我使用此代碼 - >

alert(checkdate('2013-09-22')); 

alert(checkdate('123123123iuo12')); 

它總是提醒"Undefined"

我需要checkdate函數的布爾結果。請幫幫我。

+0

或者說,這都是因爲Ajax調用通常是「異步」。它不會等待結果返回,因此它是未定義的。 –

+0

如果你使用jquery-validate插件,它有一個'remote'方法,可以很容易地使用AJAX進行驗證。 – Barmar

+0

davidkonrad給了我一個回答我的問題的鏈接,但我仍然不能將它應用於我的功能。我也避免把這麼多插件哈哈哈。 –

回答

0

你可以試試這個

function checkDate(date) 
{ 
    $.ajax({ 
     method: 'post', // or GET 
     url: 'checkdate.php', 
     data: {dateSample: date}, 
    }).done(function(response){ 
     alert(response); 
     // do stuff ... 
    }); 
} 

checkDate('test'); 
+0

好吧,我會嘗試你的解決方案。目前我通過將async設置爲false來解決我的問題,但他們說這不是明智的,所以我會試試這個哈哈 –