0

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

这是我的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 得到的只是'未定义'......我无法让它工作!任何想法我做错了什么?

- - - - - - -编辑 - - - - - - -

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

exit(json_encode($yourarray));

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

4

1 回答 1

1

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

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

在发射之前添加到您的 PHP 脚本中,或者同时添加到您的 PHP 脚本中。

于 2013-05-24T12:15:37.747 回答