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

标签 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);
?>

最佳答案

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_* 恶作剧。它已在 PHP 7 中完全删除并且不要试图告诉我你将骑 PHP 5 直到死亡你分开。

其次,您 8000% 对 SQL 注入(inject)持开放态度。

我知道您很可能只是英国一所学校的学生,但如果您的老师/教授对您的代码没有意见,那么您的钱就不值了。

关于javascript - 使用两个 Ajax 调用来发布然后检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35460716/

相关文章:

javascript - 我可以在 javascript 中打开 php 标签,在 php 标签中打开 javascript 标签吗

php - 如果不存在则 undefined variable

javascript - 使用 Microsoft Bot Framework 动态创建具有不同内容的自适应卡片

javascript - iPad 上的 Skrollr 截止

javascript - react : How to map select option value to a state key?

php - 在源中创建新行

javascript - jQuery 和 Unicode 字符

javascript - 等待 form.submit()/POST 完成

javascript - 在 Jquery 代码中调用 javascript 函数

javascript - 如何在 HTML5 视频中获取搜索事件的起点?