mySqlデータベースから変数をjQueryに取得しようとしています。mySqlからajax経由で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)によって出力されるもの。新しい質問でコメントしましたが、「:」が含まれているかどうかはわかりません。そうでない場合、それは正しく分割されないので、動作しない理由は... –
出力21:50 – Algeron
do_timeはいつ実行されますか?あなたのAjaxが完了した後に実行されますか? Ajaxは非同期型なので、それがいつ埋められるのかわからないことを意味します... –