在课程中,我学习如何通过JSON / AJAX将结果从sql请求传递给js。我需要在我的js中来自此请求的行的值,但它不起作用。通过控制台我有一个错误:未捕获的SyntaxError:意外的标记<
PHP的一部分:
<?php
//get all the course from db and reply using json structure
//connection to db
$mysqli = new mysqli("localhost", "root", "", "my_hyp");
$id = $_POST['id'];
if (mysqli_connect_errno()) { //verify connection
exit(); //do nothing else
}
else {
# extract results mysqli_result::fetch_array
$query = " SELECT * FROM course WHERE course_category='$id'";
//query execution
$result = $mysqli->query($query);
//if there are data available
if($result->num_rows >0)
{
$myArray = array();//create an array
while($row = $result->fetch_array(MYSQL_ASSOC)) {
$myArray[] = array_map('utf8_encode', $row);
}
$response = array();
$response['rows'] = $row;
$response['query'] = $myArray;
echo json_encode($response);
}
//free result
$a=num_rows;
$result,$a->close();
//close connection
$mysqli->close();
}
?>
脚本的第一部分:
$.ajax({
method: "POST",
//dataType: "json", //type of data
crossDomain: true, //localhost purposes
url: "./query/cate_has_courses.php", //Relative or absolute path to file.php file
data: {id: i},
success: function(response) {
console.log(JSON.parse(response));
var course=JSON.parse(response.query);
var row=JSON.parse(response.rows);
答案 0 :(得分:0)
似乎你以错误的方式使用JSON.parse。 JSON.parse必须只进行一次。 JSON.parse的结果是存储当然对数据的访问是由response.query或respons.row ...等等而不是由JSON.parse(respose.query)