0

私はJqueryを使用してajaxリクエストを作成しています:

$('#my-btn').click(function() {ldelim}
    var comment = $('#textarea').val();
    var m = {$id};
    var data = {ldelim}
          comment: $('#textarea').val(),
          m: {$id}
        {rdelim};

        $.post('index.php?page=page',data,function(callback_data){ldelim}

        var content = $('div.my-btn').html();
        $('div .comments').append(content);
                ...
        alert(callback_data);
{rdelim});
{rdelim});

(その {rdelim} または {$id} の理由は、テンプレート エンジン Smarty を使用しているためです。)

私のphpコードの処理はうまくいきます.bddは正しく実装されていますが、コールバックのアラートは「404」を送信し、phpコードからデータ番号をエコーできません. (php コードで echo($data) を呼び出すと、$data+404 のアラートが表示されます)。

誰にもアイデアはありますか?

ベスト、ニューベン

4

1 に答える 1

1

jQuery のコールバック.post()は、成功 (HTTP ステータス コード 2XX) 応答専用です。404 のコールバックを使用するには、次を使用する必要があります.ajax()

$.ajax({
    type: 'POST',
    url: 'index.php?page=page',
    data: data,
    success: function(callback_data) {
        // ...
    },
    error: function(jqXHR, textStatus, errorThrown) {
        // ...
    }
});

http://api.jquery.com/jQuery.post/http://api.jquery.com/jQuery.ajax/を参照してください。

于 2012-06-30T12:31:14.267 に答える