簡體   English   中英

jQuery $ .ajax調用—奇怪的返回函數問題

[英]jQuery $.ajax call — strange return function issue

我有一個$ .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.test,這是“某事”,並且可以工作,但是由於某些奇怪的原因,當我取消-注釋與數據庫相關的行,即使與返回的json不直接相關,也行不通並且看不到警報。 我對此沒有邏輯解釋,這行在某種程度上弄亂了在回顯時返回的json編碼,但是為什么呢? 如何? 不知道!

好的,看來這是因為我的數據庫處理程序中有include_once to Comment類。 這樣做的理由是基於我想用新數據實現Comment對象並將其返回為html的插入。 您也許知道如何修改我的調用者函數以接受該HTML?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM