使用两个Ajax调用发布然后检索数据

时间:2016-02-17 15:21:13

标签: javascript php jquery mysql ajax

我目前正尝试首先使用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);
?>

2 个答案:

答案 0 :(得分:1)

<强>的jQuery

player.api('paused', function(paused) {
    // paused will be true or false here
});

<强> PHP

var dataToSend = {'patientname':patientname};

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

        console.log(result);

    }
})

为了记录,我不容忍使用你的<?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); ?> 恶作剧。在PHP 7中它已被完全删除,并且不要试图告诉我你将使用PHP 5直到你死亡。

其次,您对SQL注入开放了8000%。

我知道你很可能只是英国一所学校的学生,但如果你的老师/教授对你的代码没问题,那么你就不会得到你的钱了。

答案 1 :(得分:0)

您可能忘记在第二次通话中设置data

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

result.id或其他。