codeigniter通变量使用JSON到PHP文件 [英] Codeigniter pass variable to php file using json

查看:400
本文介绍了codeigniter通变量使用JSON到PHP文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从数据库中的数据,但我不能通过从视图中的变量使用JSON到控制器。能否请你帮我发现其中的错误。

下面是我的看法:

 < PHP
  回声$信息;
  的foreach($结果$行)
  {
      $ faq_id = $行向> faq_id;
      $ faq_title = $行向> faq_title;
?>

< H3>< A HREF =#级=faq_title>< PHP的echo $ faq_title; ?>&所述; / a取代;&所述; / H3>

< PHP
   }
 ?>
 

下面是我的JS文件:

  $(。faq_title)。点击(函数(){

    VAR标题= $(本)的.text();

    $阿贾克斯({
        URL:FAQ / get_faq_data',
        数据:{标题:标题},
        数据类型:JSON,
        类型:后,
        成功:功能(数据){
                               响应= jQuery.parseJSON(数据);
                               的console.log(响应);
                                 }
           });

});
 

下面是我的控制器:

 公共职能get_faq_data(){
           标题(内容类型:应用程序/ JSON的,真正的);
           $这个 - >负载>模型(model_faq);
           $标题= $这个 - >输入 - >后期(标题);
           $数据[成果] = $这个 - > model_faq-> did_get_faq_data($标题);
           回声json_en code($数据[成果]);

        }
 

下面是我的模型:

 公共职能did_get_faq_data($标题){

    $这个 - > DB->选择(*);
    $这个 - > DB-肽从(常见问题解答);
    $这个 - > DB-化合物其中(faq_title',$标题);

    $查询= $这个 - > DB->获得(常见问题解答);

    如果($查询 - > NUM_ROWS()大于0){
    返回$查询 - >的结果();
    }
    其他 {
    返回false;
    }
   }
 

解决方案

  VAR标题= $(本)的.text();

$。员额(//你可以简单地从jQuery的岗位方法来发送JSON
    < PHP的回声SITE_URL(FAQ / get_faq_data')>//尝试使用完整的URL
    {
        标题:标题
    },
    功能(数据){
        的console.log(数据);
    },
    JSON
);
 

I want to get data from database but I cannot pass variable from view to controller using json. Could you please help me to find the mistake.

Here is my view:

<?php
  echo $message;
  foreach($results as $row)
  {
      $faq_id = $row->faq_id;
      $faq_title = $row->faq_title;
?>

<h3><a href="#" class="faq_title"><?php echo $faq_title; ?></a></h3>

<?php 
   }
 ?>

Here is my JS file:

$(".faq_title").click(function(){

    var title = $(this).text();

    $.ajax({
        url: 'faq/get_faq_data',
        data: {'title': title}, 
        dataType: 'json',
        type: "post",
        success: function(data) {  
                               response = jQuery.parseJSON(data);           
                               console.log(response); 
                                 }
           });

});

Here is my Controller:

 public function get_faq_data() {
           header('Content-Type: application/json',true);
           $this->load->model("model_faq");
           $title = $this->input->post('title');
           $data["results"] = $this->model_faq->did_get_faq_data($title);
           echo json_encode($data["results"]);

        }

Here is my model:

public function did_get_faq_data($title){

    $this->db->select('*');
    $this->db->from('faq');   
    $this->db->where('faq_title', $title); 

    $query = $this->db->get('faq');

    if ($query->num_rows() > 0){
    return $query->result();
    }
    else {
    return false;
    }
   }    

解决方案

var title = $(this).text();

$.post( // you can simply send json from post method of jquery
    "<?php echo site_url('faq/get_faq_data') ?>", // try to use full url
    {
        title : title
    },
    function( data ) {
        console.log( data );
    },
    "json"
);

这篇关于codeigniter通变量使用JSON到PHP文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆