duai0935 2015-05-31 13:39
浏览 86
已采纳

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

I've got a php file on a webserver that executes queries to a MySQL database.

I'm testing a site on my pc (locally) that uses a js file with an AJAX request to get JSON data from that php file.

Is it possible to do it like this, or the js file must be put on the same domain server of the php file?

Because the console.log of the parsed data gives me this error:

Uncaught SyntaxError: Unexpected token I

This is the ajax call

$.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 + "
Specific Error: " + error);
    }

While this is the PHP call

<?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(); 

}
  • 写回答

1条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥20 用SQL语句写下面的表格
      • ¥100 IIC通讯数据算法分析
      • ¥15 matlab 绘制涡流场
      • ¥15 依存句法分析如何与BERT模型及GCN相结合
      • ¥66 有偿收一个会Python 与unitysocket通信,会简单mediapipe手势识别的哥
      • ¥15 药店卖药设计使利润最大
      • ¥15 模拟银行实现VIP服务
      • ¥20 ECU在实车上can通讯失败或不稳定
      • ¥15 关于VB.net调用Excel如何打包的问题?
      • ¥15 VB6.0+WebBrowser如何实现网页内嵌图片按钮点击