Meteor中的Ajax请求失败,但在localhost测试中是正确的

时间:2016-12-30 10:26:12

标签: php mysql ajax meteor

我尝试从MySql数据库中获取一些数据。我有2个文件:

// client/book.js 
    $(document).ready(function () {
        $("#btnJSonDB").bind("click", function () {

            var request = $.ajax({
                url: "book.php",
                type: "GET",   
                data: "",    
                contentType: "application/json; charset=utf-8",
                dataType: "json",    
                success: function(result) {
                    console.log(result);
                }
            }); //end ajax  
            request.fail(function( jqXHR, textStatus ) {
                console.log("Request failed: " + textStatus);
           });
        }); //end click
    }); //end ready    

和服务器端:

// server/book.php 
$db = new mysqli(DATA_HOST,DATA_UTENTE,DATA_PASS,DATA_DB );
$select = "SELECT * FROM bk_book";
$strJSon = "{\"book\":{}}";
$query = @mysqli_query($db,$select);
if( $query )  {
    $result = [];
    while($result[] = mysqli_fetch_array($query, MYSQLI_ASSOC));
    @mysqli_close($db);
    $strJSon = "{\"book\":" . json_encode($result) . "}";
}
echo $strJSon;  

我尝试在我的localhost空间(windows-xampp),一切都没问题,在meteor中我收到了一条错误信息:

Parse error

我尝试评论数据类型(json问题?),我看到没有我的数据的html页面。

结果是正确的json格式:

{  
   "book":[  
      {  
         "nrent":"xxxxxx",
         "start_date":"2017-01-05",
         "end_date":"2017-01-12",
         "user_ID":"15",
         "booking_status":"estimate",
         "note":"",
         "adults_numb":"0",
         "children_numb":"0",
         "booking_bill":"630.00",
         "name":"Camera Bi",
         "first_name":"dddd",
         "last_name":"ddd",
         "mail":"dddd@dddd.it",
         "telephone":"ddddddd"
      },
      {  
         "nrent":"fffff",
         "start_date":"2017-01-08",
         "end_date":"2017-01-27",
         "user_ID":"25",
         "booking_status":"active",
         "note":"",
         "adults_numb":"2",
         "children_numb":"0",
         "booking_bill":"1710.00",
         "name":"Camera Ba",
         "first_name":"pippo",
         "last_name":"puppo",
         "mail":"fff@pippfffo.it",
         "telephone":"ffffff"
      },
      {  
         "nrent":"aaaaa",
         "start_date":"2017-01-28",
         "end_date":"2017-02-01",
         "user_ID":"24",
         "booking_status":"estimate",
         "note":"",
         "adults_numb":"0",
         "children_numb":"0",
         "booking_bill":"380.00",
         "name":"Camera Ba",
         "first_name":"ffff",
         "last_name":"wwww",
         "mail":"no@email.it",
         "telephone":""
      },
      null
   ]
}

我尝试https://jsonformatter.curiousconcept.com/并且是正确的

1 个答案:

答案 0 :(得分:0)

$db = new mysqli(DATA_HOST,DATA_UTENTE,DATA_PASS,DATA_DB );
$select = "SELECT * FROM bk_book";
$jsonObject = new stdclass();

$query = @mysqli_query($db,$select);
if( $query )  {
    $result = [];
    while($result[] = mysqli_fetch_array($query, MYSQLI_ASSOC));
    @mysqli_close($db);
    $jsonObject->book = $result;
}
header("Content-Type: application/json; charset=utf-8", true);
echo json_encode($jsonObject);