加載失敗 - 參數:[Object api = Object,Object request = Object reader = Object scope = Object,Object tId = 0 status = 200 statusText = OK ,語法錯誤:在屬性列表之後的屬性列表消息=缺失}後缺少}}ExtJS:missing}在屬性列表後,但我沒有看到任何代碼錯誤
我通過向我的商店添加異常但是在我的代碼中看不到任何實際錯誤...可能是另一組眼睛將有所幫助。
PHP:
case 'messages':
if(isset($_SESSION['id'])){
$stmt = $dbh->prepare("Select ID, ReceivedAt, Message from SystemEvents Limit 100");
$stmt->execute();
while($tmp = $stmt->fetch()){
$y .= '{"ID":"'.$tmp['ID'].'","ReceivedAt":"'.$tmp['ReceivedAt'].'","Message":"'.$tmp['Message'].'"},';
}
$y = trim($y,',');
if(isset($_REQUEST['callback'])){
echo $_REQUEST['callback'].'({"dates":['.$y.']});';
}else{
echo '{"dates":['.$y.']}';
}
}else{
if(isset($_REQUEST['callback'])){
echo $_REQUEST['callback'].'({success: false, data{"error_title": "Error", "errormsg": "Cannot display dates"}})';
}
else{
echo '{success: false, data{"error_title": "Error", "errormsg": "Cannot display dates"}}';
}
}
break;
ExtJS的:
Ext.onReady(函數(){
var logStore = new Ext.data.JsonStore({
autoLoad: true,
url: 'inc/interface/config.php?list=messages',
root: 'dates',
idProperty: 'ID',
fields: ['ID', 'ReceivedAt', 'Message'],
listeners: {
loadexception: function() {
console.log('load failed -- arguments: %o', arguments);
}
}
});
var dateStore = new Ext.data.JsonStore({
autoLoad: true,
url: 'inc/interface/config.php?list=date_options',
root: 'dates',
idProperty: 'ID',
fields: ['ID', 'ReceivedAt'],
listeners: {
loadexception: function() {
console.log('load failed -- arguments: %o', arguments);
}
}
});
var dateSelect = new Ext.form.DateField({
fieldLabel: 'Pick a date',
width: 190,
align: 'center',
frame: true
});
var dateCombo = new Ext.form.ComboBox({
store: dateStore,
mode: 'local',
valueField: 'ID',
displayField: 'ReceivedAt',
editable: false,
emptyText: 'Select a Date',
width: 250,
listeners:{
activate: function(){
dateStore.reload();
}
}
});
var searchField = new Ext.form.TextField({
fieldLabel: 'Search Criteria',
emptyText: 'Search....',
width: 190,
frame: true
});
var searchButton = new Ext.Button({
text: 'Search',
});
var clearButton = new Ext.Button({
text: 'Clear',
tooltip: 'Clears all your search data'
});
var searchPanel = new Ext.Panel({
layout: 'form',
region: 'east',
width: 300,
collapsible: true,
alignButton: 'right',
title: "Search Panel",
items: [dateSelect, dateCombo, searchField],
buttons: [clearButton, searchButton]
});
var logGrid = new Ext.grid.GridPanel({
region: 'center',
store: logStore,
colModel: new Ext.grid.ColumnModel({
columns: [{
id: 'received',
header: 'Received',
dataIndex: 'ReceivedAt',
width: 250
},{
id: 'message',
header: 'Logs',
dataIndex: 'Message',
width: 750
}]
}),
});
var mainViewport = new Ext.Viewport({
layout: 'border',
items: [logGrid, searchPanel]
});
});
我不認爲發佈我的PHP的其餘部分將是相關的,因爲它的所有作品,但希望有人可以發現我的壞眼睛不能。
奇怪的是,我可以拿出: 「消息」:「‘[消息‘’$ tmp中。’」 在PHP和網格將顯示的日期就好了。我必須查看json_encode。 – TBell 2010-07-13 18:15:53
好吧,'Message'可能包含一個引號或其他在JSON/JavaScript字符串文字中特殊的字符。無法爲上下文轉義字符是安全漏洞的一個重要來源,這就是爲什麼您希望使用'json_encode'來創建輸出並且絕對不是字符串吊銷的原因。 – bobince 2010-07-13 18:21:49
下面的任何事情會被認爲是一個特殊的人物嗎?這只是你的基本dhcp日誌。 我已經把問題歸結到這裏不能正確解析的地方,因爲我的代碼工作正常,可以將其他所有東西存儲在合適的地方......除了這個「消息」部分。 Apr 9 00:00:02 dh1 dhcpd:10.193.XX上的DHCPACK到00:21:xx:53:xx:e1(xxxxxx-PC)通過10.193.xx.xx Apr 9 00:00:02 dh1 dhcpd :增加了從xx.wifi-uhs.xx到10.193.xx.xx的新轉發地圖 Apr 9 00:00:02 dh1 dhcpd:從242.244.xx.xx.in-addr.arpa添加了反轉地圖。到xx.wifi-uhs.xx – TBell 2010-07-13 20:05:53