gpt4 book ai didi

javascript - 使用本地 AJAX 请求解析 JSON 数据

转载 作者:行者123 更新时间:2023-11-29 22:22:46 25 4
gpt4 key购买 nike

我在网络服务器上有一个 php 文件,它对 MySQL 数据库执行查询。

我正在我的电脑(本地)上测试一个网站,该网站使用带有 AJAX 请求的 js 文件从该 php 文件获取 JSON 数据。

这样可以吗,还是js文件必须和php文件放在同一个域服务器上?

因为解析数据的 console.log 给了我这个错误:

Uncaught SyntaxError: Unexpected token I

这是ajax调用

$.ajax({
method:"POST",
crossDomain:true,
url:"url for the php file",
data:{
query: "SELECT * FROM course_categories;"
},

success: function(response){

var course_categories=JSON.parse(response);
console.log(course_categories);
var el="";
console.log(course_categories.length);
for(var i=0;i<(course_categories.length);i++)
{

}

},

error: function(request,error){
console.log("ERROR: Request " + request + "\nSpecific Error: " + error);
}

虽然这是 PHP 调用

<?php

//get all the courses from the database and reply using the JSON structure

//$mysqli=new msqli("localhost","username","password","dbname");

$mysqli=new mysqli("localhost","hey","","db_name");


if(mysqli_connect_errno()) //returns a number of the error if there is any, if not
{
echo json_encode("Error to connect to DBMS".mysqli_connect_error());

exit(); //closes the connection
}
else
{


$query=$_POST["query"];
//$query="SELECT * FROM course_categories";
$result=$mysqli->query($query); //do a query (->query) setted by $query, using the $mysqli variable, and store the data in $result

if($result->num_rows >0) //if there is at least one row...
{
$myArray= array(); //...create an array...
while($row = $result->fetch_array(MYSQL_ASSOC))
{
//...and fetch it. Everytime this operation returns a row,
$myArray[]=$row; //...and added to myArray ([] means autoincrement).
}

}

echo json_encode(utf8ize($myArray));

//free result
$result->close();

//close connection
$mysqli->close();

}

最佳答案

我做到了。我所要做的就是删除 crossDomain:true 行,以便 JSON 能够真正解析数据。

关于javascript - 使用本地 AJAX 请求解析 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30558108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com