我是一个非常新手的程序员,他正在制作一个应用程序,其中有多个带有jcontainer类的 div 。每个jcontainer都有一个与之关联的 id,它对应于数据库中名为apptid的字段。在 Jquery 中,我每 5 秒向 php 页面发送一个 AJAX 请求,以检索数据库中名为currentlocation的字段(对应于apptid),每个jcontainer 都会发生这种情况。
这是我的代码:
HTML:
<div class='jcontainer' data-param='jcontainer_IDNUMBER'>
<button class='checkIn' data-param='button_IDNUMBER'>Check In</button>
<form method='post' class='myForm' action=''>
<select name='locationSelect' class='locationSelect' data-param='location_IDNUMBER'>
<option value='1'>Exam Room</option>
<option value='2'>Exam Room 2</option>
<option value='3'>X-Ray Room</option>
<option value='1000'>Check Out</option>
</select>
</form>
<div class='finished' style='color:#ff0000;'>Checked Out</div>
</div>
jQuery:
<script type="text/javascript">
$(document).ready(function() {
setInterval(function(){
$('.jcontainer').each(function() {
var $e = $(this);
var dataid = $e.data("param").split('_')[1] ;
$.ajax({
url: 'heartbeat.php',
method: 'post',
contentType: "application/json",
dataType: "json",
data: dataid,
success: function(data){
var msg = $.parseJSON(response);
alert(msg);
}
});
});
},5000);
//other code that I didn't post, because it's not really relevant, but can post if needed be
和php页面:
<?php
$hostname = 'localhost';
$username = '******';
$password = '*************';
$apptid = $_POST['dataid'];
$db = new PDO("mysql:host=$hostname;dbname=sv", $username, $password);
$statement = $db->prepare("SELECT currentlocation FROM schedule WHERE apptid = :apptid");
$statement->execute(array(':apptid' => $apptid));
$row = $statement->fetch();
$currentlocation = array('CurrentLocation' => $row['currentlocation']);
echo json_encode($currentlocation);
?>
问题是我无法从警报(msg)中得到任何响应。为什么是这样?我检查了 Chrome 开发人员,没有出现任何错误。
最终目标是将当前位置编号记录在 jquery 变量中。前->var currentLocation = Number
感谢您的所有帮助,如果您需要更多详细信息来解决问题,我可以很高兴地发布!