我有一个 $.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 return msg.test 的警报,这是“某事”并且有效,但由于某些奇怪的原因当我取消注释该数据库相关行时,即使与返回的 json 没有直接关系,它也不起作用并且没有可见的警报。我对此没有逻辑解释,这一行在某种程度上弄乱了 echo'ed 时返回的 json 编码,但为什么呢?如何?不知道!
最佳答案
好的,伙计们,看来原因是我在数据库处理程序中包含了 Comment 类。其基本原理是基于我想用新数据来实现 Comment 对象的插入,并将其作为 html 返回。您知道如何修改我的调用函数以接受该 html 吗?
关于javascript - jQuery $.ajax 调用——奇怪的返回函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32569178/