我在代码点火器上的会话有问题。首先,我想构建一个高级搜索功能。高级搜索功能将允许用户使用多个类别进行搜索。在用户搜索某些内容并且结果成功返回后,左侧边栏将显示搜索键和“编辑按钮”。编辑按钮将允许用户转到上一页并更改其搜索键。这就是为什么,我需要使用session来存储搜索关键字。但是在我设置会话并尝试检索该值之后,就出现了问题。
这是工作流程。 - 在a.php上设置会话 - 在b.php上的函数中获取会话值 - Ajax到b.php接收会话值并显示它。
有关信息,我使用php和代码点火器作为服务器端。
这是代码:
a.php只会
if (!empty($params['modelname'])){
$modelid = "";
for($i = 0; $i < count($params['modelname']); $i++)
{
$modelid .= $params['modelname'][$i];
if($i+1 < count($params['modelname']))
{
$modelid .= ", ";
}
}
$data = array(
"modelname" => $modelid
);
$this->session->set_userdata($data);
?>
<span id="model"><strong><?php echo $modelid; ?><?php echo form_button('btnsearchmodel', 'Edit','class="btnsearchkata" id="btnsearchmodel"')?></strong></span>
<div class="clear"></div>
<?php }
b.php
public function getselectedmodel()
{
$data = $this->session->userdata('modelname');
echo $data;
}
c.php
function getCariModel()
{
var brandname = ""
$(".brand").each(function(){
if ($(this).is(':checked') ){
brandname += $(this).val()+',';
}
});
if(brandname != "")
{
$.ajax({
type: "POST",
url: '<?php echo site_url("ajax_data/getselectedmodel"); ?>',
dataType: 'json',
data: {c: "ambilmodel"},
success: function(data) {
alert(data);
}
});
}
}
问题是:当我没有收到数据时。当我尝试提醒数据时,警报根本不起作用。似乎请求不成功
我猜问题是我设置会话时的问题。但我真的不知道我的代码有什么问题。谁有人可以帮助我?谢谢
答案 0 :(得分:2)
您正在等待javascript中的JSON,但在您的控制器操作getselectedmodel
中,您没有json_encode。试试这个:
public function getselectedmodel()
{
$data = $this->session->userdata('modelname');
$this->output->set_output(json_encode($data));
}
如果你还没有输出。尝试直接采取行动,请求并更新您的问题。