我有一个更改页面的按钮Next
-
<a class="disabled" href="step">
<button class="btn btn-primary launch-btn disabled next">NEXT</button>
</a>
此外,单击此按钮时,我有一个Ajax函数将数据发送到控制器函数 -
<script type="text/javascript">
$(function(){
$('.next').click(function() {
var a = $('#box').data('val');
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>study/CreateData",
data: a,
success: function(data)
{
console.log(data);
},
error: function()
{
console.log("fail");
}
});
});
});
</script>
我正在使用它从Ajax接收值 -
public function CreateData() {
$data = $this->input->post('data');
return $data;
}
当Next
按钮点击其控制器并更改为新页面时,我正在尝试将Ajax发布的值检索到CreateData()
函数 -
public function step()
{
$data = $this->CreateData();
if(!empty($data)){
print_r($data); exit;
}
else {
echo "blank"; exit;
}
$this->load->view('step2');
}
然而,这仍然会回显blank
。这显然意味着返回的$data
是空的,但我不确定为什么。我的Ajax脚本中的success
函数正在记录data
,因此它将值发布到CreateData()
。我在这里做错了什么?
答案 0 :(得分:1)
你的javascript应该是这样的
<script type="text/javascript">
$(function(){
$('.next').click(function() {
var a = $('#box').data('val');
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>study/CreateData",
data: {my_data: a},
success: function(data)
{
console.log(data);
},
error: function()
{
console.log("fail");
}
});
});
});
</script>
注意data
属性。我已将其更改为包含变量a
的对象。
现在你应该可以使用
在你的php函数中检索它了public function CreateData() {
$data = $this->input->post('my_data');
return $data;
}
答案 1 :(得分:0)