codeigniter通变量使用JSON到PHP文件 [英] Codeigniter pass variable to php file using json
本文介绍了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屋!
查看全文