Javascript 在调用中使用返回的json值无效

Javascript 在调用中使用返回的json值无效,javascript,jquery,json,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('

尝试使用我从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>
它正在返回:

{"computer_id":1,"success":"success"}

编辑:我发现在此之外的代码中有一个小错误,返回的值与预期值不同。一切都很好,上面的内容一开始确实是正确的。

您应该使用firebug或浏览器中的任何开发工具进行调试-Firefox中的firebug非常适合这样做,因为您可以看到从AJAX调用传回的JSON数据


也就是说,您的问题是数据可能在response.d下-因此请查看response.d.success和response.d.computer\u id

可能您从PHP服务器接收的内容是以简单文本形式发送的,并且必须使用为JSON内容设置的标题发送:

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

它应该返回什么?在开发人员工具中,您的控制台会说什么?(IE中的F12,GC中的ctrl+shft+I)。{“计算机id”:1,“成功”:“成功”}是控制台显示的响应内容。。。问题是在我的响应函数中访问这些变量。“+something+”不是正确的方式吗?例如,在淡出和删除调用中,我希望在这个特定示例中使用c1。这似乎没有什么区别。我知道if(response.success=='success'){调用有效…下面调用中response.computer_id的引用似乎不正确。正如我前面所说的那样…我使用了FF,它显示了返回的正确json值。
header('Content-Type: application/json');