如何从ajax请求获取数据响应?

时间:2013-11-11 08:27:38

标签: javascript jquery ajax codeigniter

我只是想问一下如何从我的ajax请求中预览数据?我只是想知道数据是否正确。

这是我的代码。

<script type="text/javascript">

            var globalBase_Url = "{$base_url}" + "index.php/user_controller/processAdd/";   

            //alert(globalBase_Url);

            {literal}

                $(document).ready(function(){

                    $('#add_cat').on('click',function(){
                        $('#add_category').show('slide');
                    });

                    $('#submit').on('click',function(){

                        var name = $('#category_name').val();
                        var desc = $('#description').val();

                        console.log(globalBase_Url);

                        $.ajax({
                            type: 'POST',
                            url: globalBAse_Url,
                            data: {cat_name:name,cat_desc:desc}, //How can I preview this?
                            dataType: 'json',
                            async: false,
                            success: function(d){

                            }
                        });

                    });

                });

            {/literal}


        </script>

在我的控制器中我有这个。

public function processAdd(){

        $cat_name = $this->input->post('cat_name');
        $cat_desc = $this->input->post('cat_desc');



 }

我使用了Chrome开发人员工具并在XHR中预览了它的响应。但我没有看到我的数据。顺便说一句,我正在使用CodeIgniter

3 个答案:

答案 0 :(得分:6)

在您的控制器中:

你应该有这样的东西

public function processAdd(){


  if($this->input->post()){

   //do something
   $var1 = $this->input->post('cat_name');
   $var2 = $this->input->post('cat_desc');

   echo json_encode(array('status' => 'ok')); //must be encode with array to access it in your response as an object since you use DataType:json
  }

}

然后在你的ajax中,访问响应

 $.ajax({
  type: 'POST',
  url: '/controllers/processAdd',
  data: {cat_name:name,cat_desc:desc}, //How can I preview this?
  dataType: 'json',
  async: false, //This is deprecated in the latest version of jquery must use now callbacks
  success: function(d){
   alert(d.status); //will alert ok
  }
});

答案 1 :(得分:2)

您可以使用浏览器开发者工具&gt;网络

Chrome:Developer Tools
FireFox:Developer Tools - Network / Fire Bug - &gt; Network

在ajax成功处理程序中,将数据记录到控制台

success: function(d){
    console.log(d);// then look at the developer tools -> console
}

答案 2 :(得分:1)

尝试放

    var globalBase_Url = "{$base_url}" + "index.php/user_controller/processAdd/"; 

在{literal}标签内