[英]How do I fetch data from database through php to javascript variable?
我有一個jQuery UI datepicker。 我想將數據發送到該功能。 我使用.post
函數通過PHP文件從數據庫中獲取數據作為“數據”。 我無法訪問數據,因為數據已返回.post函數內部。 我想要它到外部變量dat
以便可以使用它。 實際上,數據是要禁用的日期。
我的代碼:
$(function () {
var dat = "";
var unavailableDates = ["10-5-2013", "14-5-2011", "15-5-2011"];
var dt = "id=1";
$.post("fetch.php", dt, function (data) {});
dat = data;
function enableFirday(date) {
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
var day = date.getDay();
return [((day == 6 || day == 5 || day == 3) && $.inArray(dmy, unavailableDates) < 0), ''];
}
$("#d").datepicker({
beforeShowDay: enableFirday
});
});
函數內部的第三行中有一個變量unavailableDates
。 我想從數據庫中獲取一些日期並保留在該變量中。
我以為我可以使用.post
從數據庫中獲取數據,以便可以使用。 但是數據是從PHP文件返回的,而不是復制到變量dat
。 從PHP文件返回的內容可以在.post函數內部使用,但不能在外部使用。 如何將數據獲取到.post
函數之外。 請幫我。 在我的項目中獲取數據非常有必要。
AJAX調用(您的$.post()
)是異步的。 您的JS代碼將運行.post()函數,然后立即繼續。 除非您擁有快速的網絡鏈接,否則幾乎不可能從AJAX調用返回響應並填充data
變量。
這就是AJAX調用帶有回調處理程序的原因,當服務器收到響應時JS將調用該回調處理程序,因此您的代碼應為
var dat;
$.post(url, dt, function(data) {
dat = data;
enableFirday(); // or whatever your code should do once you get a response.
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.