javascript - Ajax 不只获取 json 输出数据(它打印整个加载的 View 代码。)。?代码点火器

标签 javascript jquery json ajax codeigniter

这是我的小脚本代码,我想从 codeingiter Controller 获取数据。我从 Controller 获取 json 数据以查看 ajax,但它使用 html 页面代码打印。 任何人都可以在这里帮助我,我该如何解决这个问题。

我只想获取 json 数据和一个变量数据到我的页面。

这是我得到的输出,但这是与 html 代码一起出现的,我不想要 html 代码。

[{"id":"1","p_name":"t_t11","p_type":"t_t1","paid_type":"0"},{"id":"2","p_name":"t_t12","p_type":"t_t1","paid_type":"1"},{"id":"3","p_name":"t_t1","p_type":"t_t1","paid_type":"0"}]

我遵循了一些问题的答案,但无法成功,因为该问题的答案与我无关。

Link 1
Link 2还有很多……

<script>
   $("a.tablinks").on('click',function(e){
        e.preventDefault();     
        var p_name = $(this).attr('value');
        alert(p_name);
    $.ajax({            
            url:"<?php echo base_url(); ?>teq/gettabdata",                  
            dataType:'text',
            type: "POST",          
            data:{p_name : p_name},        
           success : function(data){
                    alert(data);
                if(data !=""){

                    var obj = JSON.parse(data);
                    alert(obj.id);
                    /*$.each(obj, function(key,val){
                         console.log(key);
                         console.log(val); //depending on your data, you might call val.url or whatever you may have
                    });*/

                }else{
                    alert(data+ '1');
                }
           },
           error : function(data){

                //var da = JSON.parse(data);
                alert(data+ '2');
                //alert(da+ '2 da ');
           }
        });
    });
</script>

这是 Controller 代码。

  public function gettabdata(){

                    $p_name = $this->input->post('p_name');
                    //echo $p_name." this is paper name.!";

                    $tabs_data['res1'] = $this->db->distinct()->select('p_type')->from('t_name')->get()->result();      

                    //$p_name = $data;
                    $query['res'] = $this->db->select('*')->from('t_name')->where('p_type',$p_name)->get()->result();

                    echo json_encode($query['res']);
                    $this->load->view('teq', $tabs_data);


        }

最佳答案

您在返回 View 代码的函数末尾添加了 View 。

删除行:

$this->load->view('teq', $tabs_data);

关于javascript - Ajax 不只获取 json 输出数据(它打印整个加载的 View 代码。)。?代码点火器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466016/

相关文章:

javascript - 菜单上下文

javascript - 匿名函数中的静态变量

json - 以Lotus Notes html形式使用Angular JS进行文件上传

php - 在即时搜索脚本中使用 PHP 而不是 JSON 作为输出

Javascript:按数字属性对对象数组进行排序,其中包括未定义的属性

javascript - 将 HTML 数据导入 JavaScript

javascript - Swiper slider 鼠标滚动和循环内容

jQuery:一年中的一周脚本正在运行

javascript - 在返回 ajax 值时隐藏按钮

c# - 在 JSON 中用冒号解析字段名称