我试图从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