在调用不起作用时使用返回的json值

时间:2013-12-07 00:26:13

标签: javascript jquery json

尝试使用我从php返回的值,但是无法正常工作。

<script type="text/javascript">
$(function () {
    $('#delete').on('click', function () {
        var $form = $(this).closest('form');
        $.ajax({
            type: $form.attr('method'),
            url: $form.attr('action'),
            data: $form.serialize(),
            dataType : 'json'
        }).done(function (response) {
            if (response.success == 'success') {

                // fade out the deleted comp
                $("#c"+response.computer_id+"").fadeOut("slow");

                // remove from the drop down
                $("#comp_selection option[value='#c"+response.computer_id+"']").remove();

            } else {
                alert('Some error occurred.');
            }
        });
    });
});
</script>

我从php文件返回:

echo json_encode($ajax_result);

返回:

{"computer_id":1,"success":"success"}
编辑:我在代码之外发现了一个小错误,我返回的值与预期的不同。一切都很好,上面的确是正确的。

2 个答案:

答案 0 :(得分:1)

您应该使用firebug或浏览器中的任何开发人员工具进行调试 - Firefox中的firebug对此非常有用,因为您可以看到从AJAX调用传回的JSON数据。

那就是说,你的问题是数据可能处于响应状态。 - 所以看看response.d.success和response.d.computer_id

答案 1 :(得分:0)

也许您从PHP服务器收到的内容是以简单文本形式发送的,并且必须与为JSON内容设置的标头一起发送:

header('Content-Type: application/json');