我正在學習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;
}
?>
哪裏是PHP的一部分? – Max