我目前正試圖首先發布用戶的名稱,我試圖從數據庫中檢索到使用ajax的我的php代碼。然後,在調用的成功部分,我試圖創建一個函數從數據庫中檢索數據,該數據庫與我以前發送到頁面的用戶的名稱匹配,但是沒有數據返回到JavaScript代碼。使用兩個Ajax調用發佈然後檢索數據
這裏是我的ajax調用函數。
function checkPatientAnswers(event) {
window.open("../src/clinicreview.php", "_self");
var patientname = event.data.patientname;
var dataToSend = 'patientname=' + patientname;
var clinicquestions = getQuestionsForClinic();
var answers = [];
$.ajax({
type: "POST",
url: "../src/getselectedpatient.php",
data: dataToSend,
cache: false,
success: function(result) {
$.ajax({
url: "../src/getselectedpatient.php",
data: "",
dataType: "json",
success: function(row) {
answers = row;
console.log(row);
}
})
}
})
console.log(answers);
for (i in clinicquestions) {
$('#patientanswers').append("<h2>" + clinicquestions[i] + " = " + answers[i]);
}
$('#patientanswers').append("Patient Status = " + answers[answers.length - 1]);
}
這是我的PHP代碼:
<?php
session_start();
$con = mysql_connect("devweb2015.cis.strath.ac.uk","uname","mypass") or ('Failed to connect' . mysql_error());
$currentdb = mysql_select_db('yyb11163', $con) or die('Failed to connect' . mysql_error());
$patientname = $_POST['patientname'];
$_SESSION['patient'] = $POST['patientname'];
$data = array();
$query = mysql_query("SELECT question1, question2, question3, question4, patient_status FROM patient_info where real_name = '$patientname'");
$data = mysql_fetch_row($query);
echo json_encode($data);
mysql_close($con);
?>
你可以添加dataType到第一個ajax和console.log結果在第一個ajax看看是否有東西返回:) – guradio
第一次或第二次嘗試沒有返回?嘗試輸出JavaScript到控制檯,也有你的PHP serverside保存一個日誌文件,以便你知道它是否運行和/或你停在哪裏。 - @guradio - 看起來像我在看着你鍵入。哈! –
第一次嘗試的成功函數已運行,因此我假設第一次調用已運行。但是在第二次調用中發回一個空數組 –