2016-12-30 7 views
0

MySqlデータベースからデータを取得しようとしています。AjaxリクエストはMeteorで失敗しますが、localhostテストでは正しくありません

// 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  

とサーバ側:私は2つのファイルを持っている

// 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の空間(窓-XAMPP)で試してみて、それが流星では、大丈夫だすべては、私はエラーメッセージrecive:

Parse error 

私はデータ型(jsonの問題?)をコメントしようとすると、自分のデータがないhtmlページが表示されます。私はhttps://jsonformatter.curiousconcept.com/を試し

{ 
    "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":"[email protected]", 
     "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":"[email protected]", 
     "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":"[email protected]", 
     "telephone":"" 
     }, 
     null 
    ] 
} 

と、それはあなたのJSON結果形式が無効であるように思える

+0

正しいです:

結果が正しいJSON形式です。 –

+0

私のlocalhostテストでは、正しいデータで完璧なオブジェクトを返す – IfThenElse

+0

これをチェック:http://stackoverflow.com/questions/35522734/settings-json-parse-error-reading-settings-file –

答えて

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); 
+0

再度解析エラー – IfThenElse

+0

出力あなたがurlのbook.phpに当たったらどうなるの? *私の答えを編集しました* – Vineesh

+0

私のlocalhostのconsole.logに私はすべてのデータを持つ完璧なオブジェクトを参照してください、問題は流星の応答です – IfThenElse

関連する問題