我在JSON.parse()中有一個錯誤,我有.php文件,其中包含從數據庫檢索數據的方法和.js文件的autoComplete函數,我的.php文件返回數據作爲字符串,我需要將其轉換爲對象通過使用JSON.parse()。未捕獲的SyntaxError:意外的標記<位於位置0的JSON中:位於對象的JSON.parse(<anonymous>)處。 <anonymous>
這是我的PHP文件
<?php
include_once("database_conn.php");
function request($conn)
{
$eventstArray = array();
$events = "SELECT *
FROM te_events,te_category,te_venue
WHERE te_events.venueID = te_venue.venueID
AND te_events.catID = te_category_catID
ORDER BY 1
";
$eventsQuery1 = mysqli_query($conn,$events) or DIE (mysqli_error($conn));
while($eventsQuery2 = mysqli_fetch_array($eventsQuery1))
{
$eventstArray[] = array
(
'label' => $eventsQuery2['eventTitle'];
'venue' => $eventsQuery2['venueName'];
'category' => $eventsQuery2['catDesc'];
'price' => $eventsQuery2['eventPrice'];
'description' => $eventsQuery2['eventDescription'];
);
}
return json_encode($eventstArray);
}
echo request($conn);
?>
,這是我autoComplete.js文件
$(document).ready(function()
{
'use strict';
$.ajax
({
method: "get",
url: "requestOffer.php"
})
.done(function(data)
{
var offers = JSON.parse(data);
// now we have the data attach the autocomplete
$('#EOffers').autocomplete
({
minLength:3,
source: offers,
select: function(event, ui)
{
$('#chosenEvent').text(ui.item.label);
$('#chosenEvent').text(ui.item.vanue);
}
});
});
});
我無法刪除JSON.parse()來,因爲我需要從字符串轉換反對,希望有人能幫助我解決這個問題,我真的很感激。
'data'應該已經是JSON,所以你不需要'JSON.parse內部 「JSON」()' ,通過console.log(data)' – Satpal
檢查一次,當你的服務器端發生錯誤時,通常會發生這種情況,那麼響應並不是一個有效的json,這一行註釋一下'var offers = JSON.parse(數據);'然後console.log(數據);你的錯誤將在控制檯 –
我曾嘗試刪除JSON.parse,並且該功能根本不起作用 –