我确信这个问题很简单,我只是无知而无法理解。
我的网站上有个人资料Feed,用户可以使用jquery的ajax功能发布即时显示的状态。
当试图发布jquery正在说错误的html时,新帖子行的整个html是语法错误。但是,如果我删除所有的html并且只显示实际帖子的文本而不是html,它仍然会给我错误。
这是javascript:
$('body').on('click','.submit_feed',function () {
var post = $("#feed_content").val();
var hidden_id = $("#hidden").val();
$("#loading").fadeIn("slow");
if( content.length < 4)
{
$.ajax({
url: "http://localhost/matthew/xaos/users/ajax/feed",
type: "POST",
data: {
parent: hidden_id,
content:post
},
cache: false,
success: function (data) {
$('#feed_error').html($(data).hide().fadeIn('slow'));
$("#loading").fadeOut("slow");
}
});
$("#loading").fadeOut("slow");
}
else
{
$('#feed_error').remove();
$.ajax({
url: "http://localhost/matthew/xaos/users/ajax/feed",
type: "POST",
data: {
parent: hidden_id,
content:post
},
cache: false,
success: function (data) {
$('#feed').prepend($(data).hide().fadeIn('slow'));
$("#loading").fadeOut("slow");
$("input[type='text']").val('');
}
});
}
return false;
});
正如您所见,它要求与users / ajax / feed进行交互,这是将数据插入数据库并返回html的内容。
这是我使用的php:
$return['user'] = user_lib::find_user($this->user['user_id']);
$return['content'] = $this->input['content'];
if( isset( $this->input['content'] ) )
{
if( strlen( trim( $this->input['content'] ) ) < 4 )
{
print '<h6>Post must be more than 4 characters</h6>';
exit();
}
$previous_feed = $this->db->fetch_row("select feed_id from user_feed order by feed_id desc");
if( ! $previous_feed )
{
$previous_feed['feed_id'] = 0;
}
$insert['feed_id'] = $previous_feed['feed_id'] + 1;
$insert['feed_parent'] = $this->input['parent'];
$insert['feed_user'] = $this->user['user_id'];
$insert['feed_date'] = time();
$insert['feed_content'] = $this->input['content'];
$return['feed_id'] = $this->db->insert('user_feed', $insert );
$html = <<<HTML
<table style="border:solid 1px #d7d7d7;margin-bottom:5px;">
<tr>
<td class="row2" style="width:1%;">{$data['avatar']}</td>
<td class="row1" style="width:100%;" valign="top">
<p>{$return['user']}</p>
<p>{$return['content']}</p>
</td>
</tr>
</table>
HTML;
@header( "Content-type: text/html;charset=utf-8" );
print $html;
exit();
}
当我删除所有的html并且只打印$ return ['content'];或打印$ this-&gt;输入['content']浏览器控制台日志中没有错误,但它不会将任何文本返回给#feed id。
如果需要任何其他信息,请告诉我们。
非常感谢任何有关正在发生的事情的想法,谢谢!