为什么我的评论没有发布?

时间:2016-08-28 12:45:42

标签: javascript php html

Html部分:            

        <div class="page-data">
            Page data is in here.
        </div>

        <div class="comment-wrapper">
            <h3 class="comment-title">Feedback:</h3>

            <div class="comment-insert">

                <h3 class="who-says">Says: Leon Burning</h3>
                <div class="comment-insert-container">
                <textarea id="comment-post-text" class="comment-insert-text"></textarea>
                </div>

                <div class="comment-post-btn-wrapper" id="comment-post-btn">
                Post
                </div>
            </div>

            <div class="comments-list">

                <ul class="comments-holder-ul">
                <?php $comments = array( "a",  "b",  "c" , "d"); ?>
                 <?php require_once INCLUDES . 'comment_box.php';?>
                </ul>
            </div>
        </div>

    </div>

<input type="hidden" id="userId" value="1" />
<input type="hidden" id="userName" value="Leon Burning" />

</body>

&lt; --- JavaScript(comment_insert.js)----&gt;

$(document).ready( function(){
  $('#comment-post-btn').click(function() {
comments_post_btn_click();
  });
});
function comments_post_btn_click() {
var _comment = $('#comment-post-text').val();
var _userId = $( '#userId' ).val();
var _userName = $( '#userName' ).val();

if( _comment.length > 0 && _userId !=null ) {
  $('#comment-post-text').css('border','0px solid red');

  $.ajax({
    type: "POST",
    url: "ajax/comments_insert.php",
    data: {
      task : "comment_insert",
      userId : "userid",
      comment : _comment
    },
    success : function(data)
    {
      comment_insert( jQuery.parseJSON(data));
      console.log("ResponseText " + data); },
    });

  console.log(_comment + " / Username: " + _userName + " / User-ID "  +     _userId );
}
else {
  $('#comment-post-text').css('border','1px solid red');
  console.log("Area was empty.");
}

$('#comment-post-text').val("");

}

function comment_insert() {
var t = "";
t += '<li class="comments-holder" id"_1">';
t += '<div class="user-img">';
  t += '<img src="user_img.png" class="user-img-pic" />';
  t += '</div>';
  t += '<div class="comment-body">';
  t += '<h3 class="username-field">Insert User</h3>';
  t += '<div class="comment-text">New Comment</div>';
  t += '<div class="comment-buttons-holder">';
  t += '<ul>';
  t += '<li class="delete-btn">X</li>';
  t += ' </ul>';
  t += '</div>';
  t += '</div>';
  t += '</li>';

  $( '.comments-holder-ul' ).prepend( t );
 }

&LT; --- --- comments_insert.php&GT;

<?php

print_r( $_REQUEST );

?>

Firefox错误消息:

“SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符”

如果有人能为我解决这个问题,我将非常感激! :)

2 个答案:

答案 0 :(得分:2)

您正在尝试将您的ajax调用的响应解析为JSON:

success : function(data) { comment_insert( jQuery.parseJSON(data)); console.log("ResponseText " + data); }, });

这不起作用,因为您只是打印出$ _REQUEST数组:

print_r( $_REQUEST );

您需要先将数组转换为JSON:

echo json_encode( $_REQUEST );

答案 1 :(得分:0)

您正在尝试将print_r的输出解析为JSON(它不是)。请改用php函数json_encode