この単純なコードを使用して、配列を JSON 構造として出力しています。
header('Content-Type: application/json');
echo json_encode($this->data, JSON_PRETTY_PRINT);
Chrome バージョン 28.0.1500.95 m を使用しています。何らかの奇妙な理由で、出力は先頭にタブ文字 (つまり\t
) を持つ pre タグでラップされます。
JSON は正常に解析されているようですが、データが送信されていない場合でもタブ文字が表示されます。どうすればこれを修正できますか?
<pre style="word-wrap: break-word; white-space: pre-wrap;"> {
"title": "Node",
"items": [
{
"label": "Do stuff",
"icon": "..\/ui\/images\/icons\/16x16\/icon.png",
"action": "dostuff"
}
]
}</pre>
編集: jQuery 側のコードは次のとおりです。
$.ajax({
url : "/myproject/getmenu/",
type : 'GET',
dataType: "json",
success : function(data) {
//alert(JSON.stringify(data,undefined,2));
if (jQuery.isEmptyObject(data)) {
return;
}
title = data.title;
items = data.items;
selected.contextPopup({
title : title,
items : items
});
}
});