ric*_*ouw 7 javascript php jquery json
我在JSON.parse()中有一个错误,我有.php文件,其中包含从数据库中检索数据的方法和.js文件中的autoComplete函数,我的.php文件将数据作为字符串返回,我需要通过使用它将其转换为对象JSON.parse()来.
这是我的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);
?>
Run Code Online (Sandbox Code Playgroud)
这是我的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);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
我无法删除JSON.parse(),因为我需要将其从字符串转换为对象,希望有人可以帮助我解决这个问题,我真的很感激.
错误发生在您的服务器端,当您的服务器端出现错误时,响应会带有 html 标签“<”,当出现错误时 php 会添加包含错误消息的标签。因此,您的 json 包含 html 标签,并因意外标签而变得无效。
错误出现在这个数组中
$eventstArray[] = array
(
'label' => $eventsQuery2['eventTitle'];
'venue' => $eventsQuery2['venueName'];
'category' => $eventsQuery2['catDesc'];
'price' => $eventsQuery2['eventPrice'];
'description' => $eventsQuery2['eventDescription'];
);
Run Code Online (Sandbox Code Playgroud)
它应该是
$eventstArray[] = array(
'label' => $eventsQuery2['eventTitle'],
'venue' => $eventsQuery2['venueName'],
'category' => $eventsQuery2['catDesc'],
'price' => $eventsQuery2['eventPrice'],
'description' => $eventsQuery2['eventDescription']
);
Run Code Online (Sandbox Code Playgroud)
(问题根源在于描述值后面的分号(;)。它应该只出现在数组的末尾)
| 归档时间: |
|
| 查看次数: |
44867 次 |
| 最近记录: |