2014-12-03 90 views
0

我試圖從數據庫PHP插入追加結果使用echo json_encode($ results)。 我是,從JSON中獲取所有來自帖子的值,但追加不起作用。jQuery append不工作使用json_encode

這裏是jQuery的一面:

$('#postsubmit').click(function(){ 
error = 0; 
// get form data 
post = $('#comments').val(); 
topicname = $('#topicName').val(); 
topicid = $('#topicID').val(); 
pageid = $('#pageID').val(); 
page = $('#page').val(); 
sendmail = $('#sendmail').val(); 
galleria_pointer = $('#galleria_pointer').val(); 
showstatus = $('#showstatus').val(); 
$(this).attr('disabled','disabled'); 

    if ($("#comments").val() == ''){ 
     $("#comments").css({ "border": "1px solid red"}); 
     $('.hideAdd').show(); 
     $(this).attr('enabled','enabled'); 

    } 

$.ajax({ 
    type: "POST",    
    url: "../foorumi/AjaxPost.php", 
    dataType: 'text', 
    data: "topicid="+topicid+"&pageid="+pageid+"&topicname="+topicname+"&page="+page+"&post="+encodeURIComponent(post)+"&sendmail="+sendmail+"&galleria_pointer="+galleria_pointer+ 
    "&showstatus="+showstatus, 
    beforeSend : function(){ 
    $("#loading_image").show(); 
    $("body").css("cursor", "wait"); 
    }, 
    error : function(XMLHttpRequest, textStatus, errorThrown){ 
    error = 1; 
    }, 
    success : function(data) {      
    $("#loading_image").hide(); 
    $("body").css("cursor", "default"); 

    //alert(data); 
     dataobject = $.parseJSON(data); 
     var json_post_result = dataobject.post_result; 
     var json_error_code = dataobject.errors; 
     var json_topicname = dataobject.topicname; 
     var json_postid = dataobject.postid; 
     var json_topicid = dataobject.topicid; 
     var json_pageid = dataobject.pageid; 
     var url = dataobject.url; 
     var json_showstatus= dataobject.showstatus; 
     var json_post = dataobject.post; 
     var json_dateNow = dataobject.sentNow; 
     var json_galleria_pointer = dataobject.sentNow; 
     var json_data_html = dataobject.data_html; 

     var decoded = $("<div/>").html(json_data_html).text(); 

     //alert(decoded); 
      if(json_post_result == true){ 
       url_to = url; 
       //window.location.replace(url_to); 

        $(".hideAdd").fadeOut("fast",function(){ 
        $('#ShowNew').show(); 
         $(".divWrapperAppend").append(decoded); 
        }); 

      } 

    } 
}); 
}); 

而這裏的PHP端:

$user_ = ($_SESSION['users_id']); 
$post_single = utf8_decode($_POST['post']); 
$pageid = $_POST['pageid']; 
$topicid_ = $_POST['topicid']; 
$topicname = $_POST['topicname']; 
$page = $_POST['page']; 
$galleria_pointer = ($_POST['galleria_pointer']); 
$sendmail = ($_POST['sendmail']); 
$showstatus = ($_POST['showstatus']); 
$microseconds_ = ((double) microtime()) * 1000000; 
$results = array(); 
$errors = ''; 
$data = array(); 

$sqluserinfo = "select u.username as username, u.userlevel, (SELECT 1 FROM userphotos up WHERE up.user_= '$user_' and defaultphoto = '1') as photonum 
,(SELECT count(1) FROM posts p1 WHERE u.users_id = p1.user_) as usermessagecount FROM users u WHERE u.users_id = '$user_'"; 
$sqlusersql = mysql_query($sqluserinfo); 
$username = mysql_result($sqlusersql, 0, username); 
$count_posts = mysql_result($sqlusersql, 0, usermessagecount); 
$ulevel = mysql_result($sqlusersql, 0, userlevel); 
$photonum = mysql_result($sqlusersql, 0, photonum); 


$userSendMailSQL = "select *, (SELECT 1 from mail_topic where sendmail = '1' and user_ = '$user_' and theader_ = '$topicid_') as sendmail1 FROM mail_topic WHERE user_='$user_' and theader_ = '$topicid_' order by id"; 
$resultsqlquery = mysql_query($userSendMailSQL)or die(mysql_error()); 
$sendMailto = mysql_result($resultsqlquery, 0, sendmail1); 


if ($post_single == "" || strlen(preg_replace('/\W/', '', $post_single)) < 5) 
{ 
    $errors = 1; 
} 
if (!empty($errors)){ 

$data['errors'] = $errors; 
$data['post_success'] = false; 
$results = array("errors"=>$errors, "post_result" => $data['post_success']); 
} 
else{ 

$data['post_success'] = true; 
$new_post = htmlspecialchars($post_single, ENT_QUOTES | ENT_SUBSTITUTE, 'ISO-8859-1'); 

$insert="insert into posts (topicID, user_, Post, editdate_, updatedmicrosec) values ('$topicid_','$user_','$new_post','editdate_','$microseconds_')"; 

    $timetoday = date("d.m.Y H:i:s"); 
    $dateNow = date_diff_as_text($timetoday,"now") . " sitten"; 

//Insert data to db 
mysql_query($insert); 


    $postid_ = mysql_insert_id(); 
if ($sendmail > 0){ 
    sendmail($topicid_,$topicname,$user_,$postid_,$page); 
} 
    updatelastread($topicid_); 

    $tableStyle_ajax = 'postStyleThisDay'; 
    $tableStyleUser_ajax = 'postStyleThisDayUser'; 
    $tableStyleNoBorder_ajax = 'postStyleThisDayNoBorder'; 
    $styleBorder_ajax = 'style="min-height: 100%; border-right: 2px solid #87b1c8;"'; 
    $aid_ajax = '<a name="'.$postid_.'"></a>'; 
    $idcolor_ajax = 'color: #e82020; font-weight: bold;'; 
$borderbottom_ajax = 'border-bottom: 2px solid #e82020;'; 
$bordertop_ajax = 'border-top: 2px solid #e82020;'; 

    if ($photonum > 0) 
    { 
    $photodiv = ('<div style="width: 89px; border: 1px solid #dadada; padding: 3px; margin: 0px 5px 5px 0px;"><a href="../kayttajat/index.php?id='.$user_.'&album=1&img='.$galleria_pointer.'"><img src="../profiili/userAlbums/'.$folder.'/'.$thumbnail.'"" style="width: 85px; height: 55px; border: none; padding: 2px;"/></a></div>'); 
    } 


$data_html = (' 
    <div id="'.$tableStyle_ajax.'" style="min-height: 30px; width: 885px; padding: 5px; margin-top: 5px; '.$bordertop_ajax.'> 
    <div style="padding: 8px 5px 3px 5px; min-height: 20px; border-bottom: 1px solid #dadada; background-color: #f7fdff;"> 
    <div class="forumPostUser" style="float: left; width: 145px;"><a href="../kayttajat/index.php?id='.$user_.'>'.$username.'</a></div> 
    <div style="float: left; padding-left: 5px; width: 640px;">L&auml;hetetty:&nbsp;'.$dateNow.'</div> 
    <div style="float: left; padding-left: 5px; '.$idcolor_ajax.'">ID: '.$postid_.'</div> 
    </div> 
    </div> 
    <div class="column" id="'.$tableStyleNoBorder_ajax.'" style="width: 130px; min-height: 65px; padding: 5px 5px 10px 5px;"> 
    '.$photodiv.' 
    <div style="font-size: 11px;">Viestej&auml;: '.$count_posts.' kpl</div> 
    <div style="font-size: 11px; padding-top: 3px;">Taso:&nbsp;'.$showstatus.' 
    </div> 
    </div> 
    <div class="column" id="'.$tableStyleNoBorder_ajax.'" style="min-width: 5px; min-height: 65px; padding: 5px 5px 10px 5px;"> 
    <div>&nbsp;</div> 
    </div> 
    <div class="column" id="'.$tableStyleNoBorder_ajax.'" style="width: 730px; min-height: 65px; padding: 5px 5px 10px 5px;"> 
    <span style="font-size: 16px; line-height: 130%;">'.$new_post.'</span> 
    </div> 
    <div id="'.$tableStyle_ajax.'" style="min-height: 30px; width: 885px; padding: 5px 5px 5px 5px; margin-top: 5px; '.$borderbottom_ajax.'"> 
    <div style="padding: 8px 5px 3px 0px; min-height: 20px;"> 
    <div style="font-size: 12px; width: 155px; padding-top: 20px; float: left;" class="forumPostUser"><a href="#alkuun">alkuun</a></div> 
    <div style="float: left; width: 300px; padding-top: 12px; border-top: 1px solid #dadada;">&nbsp;</div> 
    <div style="float: left; width: 425px; padding-top: 5px; border-top: 1px solid #dadada;"><div style="float: left; margin-left: 240px;"> 
    <form method="post" action="index.php?id='.$pageid.'&show='.$topicid_ .'&page='.$page.'#quoted"><input type="hidden" name="postID" value="'.$postid_.'" /> 
    <input type="hidden" name="lainaa" value="Lainaa" /> 
    <input type="image" src="../png/lainaa.png" /></form> 
    </div> 
    <div style="float: left;"> 
     <form method="post" action="index.php?id='.$pageid.'&show='.$topicid_.'&page='.$page.'&postid='.$postid_.'&tag=#'.$postid_.'"><input type="hidden" name="postID" value="'.$postid_.'" /><input type="hidden" name="muokkaa" value="submit" /> 
      <input type="hidden" name="edited" value="edited" /> 
     <input type="image" src="../png/muokkaa.png" /></form></div> 
    </div> 
    </div> 
    <div style="clear: both;"></div> 

    </div> 
    </div> 
    <div style="clear: both;"></div>'); 



$data_html = htmlspecialchars($data_html, ENT_QUOTES | ENT_SUBSTITUTE, 'ISO-8859-1'); 

    if (mysql_error() != ""){ 
     echo ('<br><p><center><b><FONT SIZE="-1" FACE="Trebuchet MS,Arial,Helvetica">There was a MySQL Error -- '.mysql_error().'</b></center></p>'); 
     exit; 
    } 
    $url = 'http://intra.tobiasfransman.net/foorumi/index.php?id='.$pageid.'&show='.$topicid_.'&page='.$page.'&postid='.$postid_.'&tag=#'.$postid_.''; 
    $results = array(
    "data_html" => $data_html, 
    "url" => $url, 
    "post_result" => $data['post_success'] 
); 

} 

header('Cache-Control: no-cache, must-revalidate'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Content-type: application/json'); 
//header('Content-type: application/x-www-form-urlencoded, charset=UTF-8'); 
echo json_encode($results); 

這是我想追加$ data_html,但它不會追加。 任何人都可以看到我做錯了什麼?

控制檯日誌輸出中:

{"data_html":"\r\n  &lt;div id=&quot;postStyleThisDay&quot; style=&quot;min-height: 30px; width: 885px; padding: 5px; margin-top: 5px; border-top: 2px solid #e82020;&gt;\r\n  &lt;div style=&quot;padding: 8px 5px 3px 5px; min-height: 20px; border-bottom: 1px solid #dadada; background-color: #f7fdff;&quot;&gt;\r\n  &lt;div class=&quot;forumPostUser&quot; style=&quot;float: left; width: 145px;&quot;&gt;&lt;a href=&quot;..\/kayttajat\/index.php?id=0&gt;Tobba&lt;\/a&gt;&lt;\/div&gt;\r\n  &lt;div style=&quot;float: left; padding-left: 5px; width: 640px;&quot;&gt;L&amp;auml;hetetty:&amp;nbsp; &lt; 1 minuutti sitten&lt;\/div&gt;\r\n  &lt;div style=&quot;float: left; padding-left: 5px; color: #e82020; font-weight: bold;&quot;&gt;ID: 0&lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div class=&quot;column&quot; id=&quot;postStyleThisDayNoBorder&quot; style=&quot;width: 130px; min-height: 65px; padding: 5px 5px 10px 5px;&quot;&gt;\r\n  &lt;div style=&quot;width: 89px; border: 1px solid #dadada; padding: 3px; margin: 0px 5px 5px 0px;&quot;&gt;&lt;a href=&quot;..\/kayttajat\/index.php?id=0&amp;album=1&amp;img=2&quot;&gt;&lt;img src=&quot;..\/profiili\/userAlbums\/\/&quot;&quot; style=&quot;width: 85px; height: 55px; border: none; padding: 2px;&quot;\/&gt;&lt;\/a&gt;&lt;\/div&gt;\r\n  &lt;div style=&quot;font-size: 11px;&quot;&gt;Viestej&amp;auml;: 1104 kpl&lt;\/div&gt;\r\n  &lt;div style=&quot;font-size: 11px; padding-top: 3px;&quot;&gt;Taso:&amp;nbsp;&lt;span&gt;LIFE.IS.A..&lt;\/span&gt;\r\n  &lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div class=&quot;column&quot; id=&quot;postStyleThisDayNoBorder&quot; style=&quot;min-width: 5px; min-height: 65px; padding: 5px 5px 10px 5px;&quot;&gt;\r\n  &lt;div&gt;&amp;nbsp;&lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div class=&quot;column&quot; id=&quot;postStyleThisDayNoBorder&quot; style=&quot;width: 730px; min-height: 65px; padding: 5px 5px 10px 5px;&quot;&gt;\r\n  &lt;span style=&quot;font-size: 16px; line-height: 130%;&quot;&gt;Testing testing&lt;\/span&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div id=&quot;postStyleThisDay&quot; style=&quot;min-height: 30px; width: 885px; padding: 5px 5px 5px 5px; margin-top: 5px; border-bottom: 2px solid #e82020;&quot;&gt;\r\n  &lt;div style=&quot;padding: 8px 5px 3px 0px; min-height: 20px;&quot;&gt;\r\n  &lt;div style=&quot;font-size: 12px; width: 155px; padding-top: 20px; float: left;&quot; class=&quot;forumPostUser&quot;&gt;&lt;a href=&quot;#alkuun&quot;&gt;alkuun&lt;\/a&gt;&lt;\/div&gt;\r\n  &lt;div style=&quot;float: left; width: 300px; padding-top: 12px; border-top: 1px solid #dadada;&quot;&gt;&amp;nbsp;&lt;\/div&gt;\r\n  &lt;div style=&quot;float: left; width: 425px; padding-top: 5px; border-top: 1px solid #dadada;&quot;&gt;&lt;div style=&quot;float: left; margin-left: 240px;&quot;&gt;\r\n  &lt;form method=&quot;post&quot; action=&quot;index.php?id=1&amp;show=41&amp;page=9#quoted&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;postID&quot; value=&quot;0&quot; \/&gt;\r\n  &lt;input type=&quot;hidden&quot; name=&quot;lainaa&quot; value=&quot;Lainaa&quot; \/&gt;\r\n  &lt;input type=&quot;image&quot; src=&quot;..\/png\/lainaa.png&quot; \/&gt;&lt;\/form&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div style=&quot;float: left;&quot;&gt;\r\n   &lt;form method=&quot;post&quot; action=&quot;index.php?id=1&amp;show=41&amp;page=9&amp;postid=0&amp;tag=#0&quot;&gt;&lt;input type=&quot;hidden&quot; name=&quot;postID&quot; value=&quot;0&quot; \/&gt;&lt;input type=&quot;hidden&quot; name=&quot;muokkaa&quot; value=&quot;submit&quot; \/&gt;\r\n    &lt;input type=&quot;hidden&quot; name=&quot;edited&quot; value=&quot;edited&quot; \/&gt;\r\n   &lt;input type=&quot;image&quot; src=&quot;..\/png\/muokkaa.png&quot; \/&gt;&lt;\/form&gt;&lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div style=&quot;clear: both;&quot;&gt;&lt;\/div&gt;\r\n\r\n  &lt;\/div&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div style=&quot;clear: both;&quot;&gt;&lt;\/div&gt;","url":"http:\/\/intra.tobiasfransman.net\/foorumi\/index.php?id=1&show=41&page=9&postid=0&tag=#0","post_result":true,"errors":null} 
+0

如果你正在返回JSON,設置'dataType'爲 'JSON',並擺脫'dataobject = $ .parseJSON(data);' – Mikey 2014-12-03 08:06:55

+0

請console.log(data);並在這裏粘貼結果 – MixedVeg 2014-12-03 08:14:18

+0

控制檯日誌更新 – user2023042 2014-12-03 08:28:41

回答

0

新增$data_html = utf8_decode($data_html)到PHP後,現在追加工作原理是:)