Javascript 在调用中使用返回的json值无效
尝试使用我从php返回的值,但没有正常工作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('
<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');