我試圖從mySql數據庫獲取jQuery的變量。通過ajax從mySql獲取變量到jQuery
這裏的PHP代碼,getTime.php:
include('connect.php');
$sql = "select * from timer";
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
$hours = $row['hours'];
$minutes = $row['minutes'];
//echo $hour.":".$minutes;
}
$timeHour = $_POST['hours'];
echo $timeHours;
下面是另一個文件的AJAX POST請求:
var timeHour = "";
$.ajax({
type: "POST",
url: "ajax/getTime.php",
data: timeHour
});
$(document).ready(function() {
alert(timeHour);
});
但alertBox不顯示任何內容。 它應該很容易,但我還沒有找到它解釋它的例子。
UPDATE
謝謝!但現在我有一個問題 - 我想用我的變量「timerHours」和「timerMinutes」 ......
$.ajax({
type: "POST",
url: "getTime.php",
success: function(data){
//alert(data);
timerArr = data.split(":")
timerHours=timerArr[0];
timerMinutes=timerArr[1];
}
});
...但它給「未定義:未定義」 - 當我警報數據 - 它工作正常。
var today = new Date();
var endTime= new Date(today.getFullYear(), today.getMonth(), today.getDate(), timerHours, timerMinutes , 00);
console.log(timerHours+":"+timerMinutes);//Console: undefined:undefined
var second = (endTime.getMinutes()-today.getMinutes())*60+(endTime.getSeconds()-today.getSeconds());
如果我把它放在doTime函數上並打印到html,它也可以正常工作。
function do_time() {
//console.log(timerHours+":"+timerMinutes);//Console: 21:50
second--;
$("#timer").html("Time left: "+second);//Output: Time left: NaN
$('#setTime').html("Hours: "+timerHours+" Minutes: "+timerMinutes);//Works fine too.
}
你的ALERT(DATA)輸出了什麼。您已在新問題中對其進行了評論,但我們不知道它是否包含「:」。如果沒有,它將永遠不會正確分裂,因此不能正常工作的原因... – 2012-01-10 13:09:34
它輸出21:50 – Algeron 2012-01-10 13:56:50
什麼時候do_time被執行?它是在你的Ajax完成後執行的嗎?因爲阿賈克斯是異步的,這意味着你不知道什麼時候會被填充...... – 2012-01-10 14:32:30