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 回答