Jquery ajax方法未定义

时间:2013-05-24 12:13:28

标签: ajax jquery

所以我的问题是成功方法返回的数据是未定义的......

这是我的jquery代码:

  $('document').ready(function(){



      $('#save').click(function() {

      var dataString = $("#stepform").serialize();

      $.ajax({
     url: "<?php echo base_url();?>create/save/<?php echo $row->id; ?>",
     type: 'POST',
     data: dataString,
     success:function(response){

        alert(response.status);

     }
    });//end ajax

    return false;
});//end click

  }); // end document ready

和php代码:

$serverResponse["status"] = 'it worked';
echo json_encode($serverResponse);

所有我从response.status得到的'未定义'...我无法让它工作!我有什么想法吗?

------------- ------------- EDIT

最后,我设法找到无效的json响应的解决方案。如果您使用的是codeigniter,则必须在json_encode之后编写exit()。像这样:

exit(json_encode($yourarray));

如果你只是回应它,那么它会给出一个解析错误。

1 个答案:

答案 0 :(得分:1)

jQuery可能无法正确猜测您正在返回JSON。在dataType: "json"参数对象上设置$.ajax属性,或添加

header("Content-type: application/json");

发布之前的PHP脚本,或两者兼而有之。