2015-05-01 63 views
0

我正在學習Javascript並且一直在關注編寫自動填充搜索框的教程。我到目前爲止,但我現在堅持解析一些JSON代碼。 JSON代碼是來自我的數據庫的PHP SELECT的結果。調試JSON對象Javascript

JSON結果如下所示。

["Leeds","Leicester"] 

根據JSONLint,它是有效的JSON代碼。

但是,當我運行下面的代碼片段時,我得到了一個腳本1014無效字符在jQuery.parseJSON行...................我知道它的東西這樣做的事實是我的JSON代碼不是一個對象,但無法解決做什麼。我甚至試過字符串化的數據分析之前,但沒有工作,要麼

................other code 
    $.get("No1PHPfile.php",{keyword:keyword}) 
    .done(function(data) { 
    console.log(data); 
    var results=jQuery.parseJSON(data); 
    console.log(results); 
    ...................other code 

編輯

兩套PHP文件的

1號

<?php 

    require('..........sqldatabase.php'); 
    require('.........selectdatabasecode.php'); 

    if(!isset($_GET['keyword'])) { 
    die(); 
    } 

    $keyword=$_GET['keyword']; 
    $data=searchForKeyword($keyword); 
    echo json_encode($data); 


    ?> 

2號

<?php 

    function getDbconnection() { 
    $db=new PDO(DB_DRIVER.":dbname=".DB_DATABASE.";host=".DB_SERVER.";charset=utf8",DB_USER,DB_PASSWORD); 
    $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
    return $db; 
    } 

    function searchForKeyword($keyword) { 
    $db=getDbconnection(); 
    $stmt=$db->prepare("SELECT stationlong FROM `station` WHERE stationlong LIKE ? ORDER BY stationlong "); 
    $keyword=$keyword.'%'; 
    $stmt->bindParam(1,$keyword,PDO::PARAM_STR,100); 
    $isQueryOk=$stmt->execute(); 
    $results=array(); 

    if ($isQueryOk) { 
    $results=$stmt->fetchAll(PDO::FETCH_COLUMN); 
    } else { 
    trigger_error('Error Executing Staement.',E_USER_ERROR); 
    } 
    $db=null; 

    return $results; 

    } 

    ?> 
+0

哪裏是PHP的一部分? – Max

回答

0

$result = json_encode ($data_i_want_to_send); 
header('Content-type: application/json'); 
echo $result; 

可以幫助

UPD

是。我是硬化(( 嘗試

$data=searchForKeyword($keyword); 
$data=array ('data' => $data); // so you send OBJECT anyway 
$data=json_encode($data); 
header('Content-type: application/json'); 
echo $data; 

,並在客戶端

var results= data.data; // instead of jQuery.parseJSON(data); 

應該有助於避免不同的「魔力」的差異如何解釋你的數據,並在我的網站的工作是肯定的。

+0

剛添加的PHP代碼感謝 – user2635961

+0

我的看法沒有改變))編碼的結果,並添加頁眉 –

+0

哦,對不起...只是呼應 –