0
我在頁面上有一個需要上傳數據的jQuery腳本文件。根據上傳的數據是否有值,PHP頁面將返回當前時間(如果值上傳!isset()
)或某些sql數據。但是,當我上傳的變量實際上有一個值時,它仍會返回!isset()
方法。我做錯了什麼嗎?使用AJAX/PHP上傳和下載變量
AJAX
$.ajax({
url: 'download.php',
type: 'REQUEST',
datatype: 'json',
data: ({
last_downloaded: latestTimestamp,
username: username
}),
success: function (data) {
parsedData = $.parseJSON(data);
if (!latestTimestamp) {
latestTimestamp = parsedData.most_recent;
}
}
});
}
如果latestTimestamp
爲空,(應該就是運行這個方法的第一次),然後是最近的時間運行。但是,當它第二次運行時,latestTimestamp
有一個值,當我console.log
。
PHP
<?php
// Get variables sent
$last_chat_time = $_REQUEST['last_downloaded'];
$username = $_REQUEST['username'];
// Start echoing JSON
if (!isset($last_chat_time)) {
// User did not send last chat time they have, assume they just joined
// Get the most recent chat date
$SQL = 'SELECT current_timestamp() as "most_recent" from dual';
$results = mysql_fetch_assoc(mysql_query($SQL));
$last_chat_time = $results;
echo '{"most_recent":"' . $results['most_recent'] . '"}';
}
else{
$SQL = 'return some tasty data'
$result = mysql_query($SQL);
$messages = Array();
while ($row = mysql_fetch_assoc($result)) {
$messages[] = Array(
'chat' => $row['chat'],
'time' => $row['time_sent'],
'username' => $row['username']
);
}
echo json_encode($messages);
}
在PHP中,它總是返回第一個如果。但是,如果我直接訪問url頁面並添加?last_downloaded = somedate,它會返回正確的信息。我不正確地做AJAX嗎?
這個固定的問題!非常感謝! –
很高興爲您提供幫助。 – Jai