从导航中获取列表ID后,我必须将id发送到返回JSON列表的php文件。
这是我的jquery语法
$("#ul_navigation li").click(function(e) {
idsec = this.id;
alert(idsec);
$.getJSON("spage.php", { ids : idsec }, function(data,result){
$("#divPage").show("slow");
$('#divPage').append(result.content[0].title)
.append(result.content[0].full_text);
}, JSON);
e.stopPropagation();
});
并将其放入名为divpage的div id。
这是我的spage.php语法
<?php
//get necessary file associate
include_once 'configuration.php';
$q = mysql_real_escape_string(($_GET['ids']));
$sql = "SELECT title, full_text FROM ** WHERE id =" . $q;
$result = mysql_query($sql);
$title_array = array();
$cname = array();
while ($r = mysql_fetch_array($result, MYSQL_ASSOC)) {
$cname['title'] = html_entity_decode($r['title']);
$cname['full_text'] = html_entity_decode($r['full_text']);
array_push($title_array, $cname);
}
echo '{"content":' . json_encode($title_array) . '}';
?>
这返回JSON数组,如:
{"content":[{"title":"Test Post 900","full_text":"Full Text"}]}
但它不起作用。有什么建议吗?
更新
在id上显示结果后,如果我想将结果存储在html组件中怎么做? (例如,标题位于<h2>
,文字结果位于<p>
)
这是html语法
<div id="divPage" style="display: none;">
<h2 id="divPage_header"></h2>
<p id ="divPage_content"></p>
</div>
谢谢。
答案 0 :(得分:0)
成功回调函数的第一个参数是请求的data
$("#ul_navigation li").click(function(e) {
idsec = this.id;
alert(idsec);
$.getJSON("spage.php", { ids : idsec }, function(data){
$("#divPage").show("slow");
$('#divPage').append(data.content[0].title)
.append(data.content[0].full_text);
}, JSON);
e.stopPropagation();
});
答案 1 :(得分:0)
您需要引用该JSON参数:
$("#ul_navigation li").on('click', function(e) {
e.stopPropagation();
$.getJSON("spage.php", { ids : this.id }, function(result){
var p = $('<p />', {text: result.content[0].title}),
h2 = $('<h2 />', {text: result.content[0].full_text});
$("#divPage").show("slow").append(h2, p);
}, 'JSON'); // missing quotes
});
在PHP中,请远离已弃用的mysql_*
函数,因为它们不安全
并且不要这样回应:
echo '{"content":'.json_encode($title_array).'}';
做:
$json = array('content' => $title_array);
echo json_encode($title_array);
确保你的回音是有效的
答案 2 :(得分:0)
$("#ul_navigation li").click(function(e) {
idsec = this.id;
alert(idsec);
$.getJSON("spage.php", { ids : idsec }, function(result){
$("#divPage").show("slow");
var appendHTML = '<div id="divPage">'+
'<h2 id="divPage_header">'+result.content[0].title+'</h2>'+
'<p id ="divPage_content">'+result.content[0].full_text+'</p>'+
'</div>';
$('#divPage').append(appendHTML);
}, JSON);
e.stopPropagation();
});