簡體   English   中英

使用兩個Ajax調用發布然后檢索數據

[英]Using two Ajax calls to post then retrieve data

我目前正在嘗試首先使用ajax將要從數據庫檢索的用戶名發布到我的php代碼中。 然后,在調用的成功部分中,我嘗試使函數從數據庫檢索數據,該數據庫與我先前發送到頁面的用戶名匹配,但是沒有數據返回到javascript代碼。

這是我的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);
?>

jQuery的

var dataToSend = {'patientname':patientname};

$.ajax({
    type : "POST",
    url : "../src/getselectedpatient.php",
    data : dataToSend,
    dataType : "json",
    cache : false,
    success: function(result) {

        console.log(result);

    }
})

PHP

<?php

session_start();

$_SESSION['patient'] = $POST['patientname'];

$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());

$query = mysql_query("SELECT question1, question2, question3, question4, patient_status FROM patient_info where real_name = '".$_POST['patientname']."'");

$data = mysql_fetch_row($query);

mysql_close($con);

echo json_encode($data);

?>

出於記錄,我不容忍使用您的mysql_* shenanigans。 它已在PHP 7中完全刪除 ,並且不要嘗試告訴我您將使用PHP 5直到死亡。

其次,您對8000%的SQL注入持開放態度。

我了解您很可能只是英國一所學校的學生,但如果您的老師/教授對您的代碼沒問題,那么您就無法獲得金錢的價值。

您可能忘記了在第二個通話中設置data

     $.ajax({
            url : "../src/getselectedpatient.php",
            data : result,

result.id或其他內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM