我是一个漂亮的新手程序员,他正在制作一个应用程序,其中有多个 div,类为 jcontainer。每个 jcontainer 都有一个与之关联的 id,它对应于数据库中名为 apptid 的字段。在 Jquery 中,我每五秒向一个 PHP 页面发送一个 AJAX 请求,以检索数据库中名为 currtollocation 的字段(对应于 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 Developer,没有出现错误。
最终目标是将当前位置编号记录在 jquery 变量中。 ex -> var currentLocation = Number
感谢所有帮助,如果您需要更多详细信息来解决问题,我很乐意发布!
最佳答案
这段代码:
success: function(data){
var msg = $.parseJSON(response);
alert(msg);
}
应该阅读
success: function(data){
var msg = $.parseJSON(data);
alert(msg);
}
因为 response
变量未声明且未定义,所以您应该在 parseJSON 方法中使用 data
变量,因为这是接收到的实际数据。希望这能为您解决问题。
关于php - Ajax 和 JSON 响应问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13485175/