尝试使用我从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"}
编辑:我在代码之外发现了一个小错误,我返回的值与预期的不同。一切都很好,上面的确是正确的。
答案 0 :(得分:1)
您应该使用firebug或浏览器中的任何开发人员工具进行调试 - Firefox中的firebug对此非常有用,因为您可以看到从AJAX调用传回的JSON数据。
那就是说,你的问题是数据可能处于响应状态。 - 所以看看response.d.success和response.d.computer_id
答案 1 :(得分:0)
也许您从PHP服务器收到的内容是以简单文本形式发送的,并且必须与为JSON内容设置的标头一起发送:
header('Content-Type: application/json');