尝试将数据从php文件传递回JSON javascript时出错

时间:2015-04-06 07:07:48

标签: php json

在我提出问题之前,让我先描述一下我在做什么:

我正在建立一个诊所排队管理系统,在系统的一部分,我这里有三个文件,分别是index.php,test.php和test.js.

==> test.js会向test.php发送请求以获取2个JSON数据,test.php中存在$ queueNumber和$ room。之后将在index.php中附加一个新的,在其下面会附加2,显示$ queueNumber和$ room。

==> test.php分别生成存储在$ queueNumber和$ room中的票号和房号。

==> index.php只是一个包含2个表的文件,1个用于标题的表和1个用于显示票号和房号的表。

以下是index.php的代码



<!doctype html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
		<title>And San King EMR</title>
	</head>

<body>

<table width="95%" align="center" border="1">
	<tr>
		<th width="50%" style="font-size:40px;">Number</th>
		<th width="50%" style="font-size:40px;">Office</th>
	</tr>
</table>

<table width="95%" align="center" border="1" id="queueDisplay">
</table>

<script src="/system/javascript/jquery.js"></script>
<script src="test.js"></script>

</body>
</html>
&#13;
&#13;
&#13;

以下是test.js的代码

&#13;
&#13;
$(document).ready(function(){

	$.ajax({
    url: "test.php",
    data:"";
    dataType: "json",
    success : function (data) {
        x=data.queueNumber;
        y=data.room;
        alert('The queue number is '+ x +' and the room is '+ y);
    },
});
});
&#13;
&#13;
&#13;

以下是test.php的代码

&#13;
&#13;
<?php
    include("connect.php");
    $sql = mysql_query("SELECT * FROM queue WHERE status='calling' ORDER BY ID ASC LIMIT 1");
    $row = mysql_fetch_array($sql);
    $queueNumber = $row['queueNumber'];
    $room = $row['room'];
    $json = array("$queueNumber","$room");
    echo json_encode($json);
?>
&#13;
&#13;
&#13;

问题:当我尝试运行index.php时,收到以下错误消息,我应该解决此错误消息吗?

  

错误语法错误:JSON.parse:第1行的意外字符   1个JSON数据

1 个答案:

答案 0 :(得分:1)

文件process.php应该只包含应该返回的PHP代码和数据。省略其他html标签。所以process.php就是这样:

<?php
    include("connect.php");
    $sql = mysql_query("SELECT * FROM queue WHERE status='calling' ORDER BY ID ASC LIMIT 1");
    $row = mysql_fetch_array($sql);
    $ID = $row['ID'];
    $queueNumber = $row['queueNumber'];
    $room = $row['room'];
    $run = mysql_query("UPDATE queue SET status='called' WHERE ID='$ID'");
    $json = array("$queueNumber","$room");
    echo json_encode($json);
?>