我有一个$。Ajax调用,如下所示:
<script type="text/javascript">
$(document).ready(function () {
$('#add_com_frm').submit(function (e) {
e.preventDefault();
var $btn_c = $('#add_com_but').button('loading');
tinyMCE.triggerSave();
var data = {
"id": document.getElementById("id").value,
"body": tinymce.get('body').getContent()
};
$.ajax({
type: "POST",
url: 'https://something/test.php',
data: data,
dataType: 'json',
success: function(msg,string,jqXHR) {
alert(msg.test);
}
});
});
});
</script>
现在发生了一些奇怪的事情,我就是无法合理地解释。
PHP: <?php
$id = $filter->purify($_POST['id']);
$body = $filter->purify($_POST['body']);
$today = date('d.m.Y');
$who = 'Someone';
$result = $db->insert_com($id, $body, $who, $today);
$list = array('test' => 'something');
$c = json_encode($list);
echo $c;
?>
现在,如果我注释//$result = $db->insert[…]我从jQuery返回msg中获得警报。测试,这是'的东西',那工作,但由于一些奇怪的原因,当我取消注释数据库相关的行,即使不直接相关的json被返回,它只是不工作,没有警告可见。我对此没有合理的解释,这一行在某种程度上混淆了echo'ed时返回的json编码,但为什么呢?以及如何?不知道!
好的家伙,所以它出现的原因是,我有include_once评论类在我的数据库处理程序。这样做的基本原理是基于插入,我想用新数据完成Comment对象,并将其作为html返回。你知道如何修改我的调用函数来接受html吗?