【发布时间】:2023-03-24 19:14:01
【问题描述】:
我的 JSON.parse 代码行没有正常运行。有任何想法吗?在运行“showconsultationdata”函数时,应该显示 2 个警报框,但我的第二个警报框没有运行,因为程序的运行总是在 JSON.parse 行处停止。 这是我的 AJAX 脚本。
function showconsultationdata(str) { //face e.g and checkboxes for that date selected.
var xmlhttp;
if (str == "") {
document.getElementById("txtHint2").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert("hi");
document.getElementById("txtHint2").innerHTML = xmlhttp.responseText;
var a = JSON.parse(xmlhttp.responseText);
document.getElementById("test").value=a.first;
alert("bye");
}
}
xmlhttp.open("GET","BAConsultRecordsAJAX.php?q="+str,true);
xmlhttp.send();
}
}
这是我的 BAConsultRecordsAJAX.php 文件。
<?php
session_start();
include('Config/Js.php');
$q = $_GET['q'];
$consult="SELECT * FROM Counsel where nric='$_SESSION[nric]' and dateconsulted='$q'";
$consultresult = mysqli_query($dbconn,$consult);
while($row = mysqli_fetch_array($consultresult)) {
$queryResult[] = $row['skincareremarks'];
$queryResult[] = $row['skinconditionremarks'];
}
$skincareremarks = $queryResult[0];
$skinconditionremarks = $queryResult[1];
echo json_encode(array('first'=>$skincareremarks,'second'=>$skinconditionremarks));
哦,我尝试提醒 xmlhttp.responseText,这就是我得到的。 如您所见,在最后一行中,它正确显示了响应文本值。但我不确定为什么它显示我的 javascripts svc
【问题讨论】:
-
任何控制台错误?
-
定义正常运行。脚本返回什么字符串
-
1) 利用 mysqli 的参数绑定。事实上,您对 SQL 注入攻击持开放态度,而
$_SESSION变量可能会造成问题。 2)xmlhttp.responseText的值是多少?我敢打赌它不会像有效的那样回来。 -
利用浏览器控制台。 F12
-
@yuriy636 我收到了这个错误。 VM95:2 Uncaught SyntaxError: Unexpected token
标签: javascript php jquery json ajax