1

从导航中获取列表 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>

谢谢你。

4

3 回答 3

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();
});
于 2013-06-19T07:06:46.020 回答
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);

确保您回显的任何内容都是有效的

于 2013-06-19T07:13:21.883 回答
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();
});
于 2013-06-19T07:45:32.293 回答