简体   繁体   English

jQuery追加无法使用json_encode

[英]jQuery append not working using json_encode

I'm trying to append an result from a database PHP insert using echo json_encode($results). 我正在尝试使用echo json_encode($ results)从数据库PHP插入附加结果。 I'm, getting all the values from the post back in the JSON but the appending is not working. 我正在从JSON中获取帖子中的所有值,但追加无法正常工作。

Here's the jQuery side: 这是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); 
                   });

            }

  }
});
});

And here's the PHP side: 这是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);

It's the $data_html that I want to append, but it wont append. 我要附加的是$ data_html,但不会附加。 Can anyone see what I'm doing wrong? 谁能看到我在做什么错?

console log ouput: 控制台日志输出:

{"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}

在PHP帖子中添加了$data_html = utf8_decode($data_html) ,现在追加按原样工作:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM