【发布时间】:2016-02-27 07:14:50
【问题描述】:
我想使用 AJAX 和 Jquery 以 POST 方法将数据传递给我的控制器。
看起来像这样:https://jsfiddle.net/10bhsd2o/ 我有显示数据库记录的引导下拉菜单。
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Your Sites <span class="caret"></span></a>
<ul class="dropdown-menu">
<li ><a href="#"><?php
foreach($sites as $site)
{
echo "<li class='specialLink' id='$site->site_key'>".$site->site_key."</li>";
}?></a></li>
</ul>
</li>
现在我想将数据发送到我的控制器,我从<li></li> 标签的下拉列表中选择的项目。
这是我的脚本:
<script type="text/javascript">
$( ".specialLink" ).click(function() {
var value = this.id;
var url= "<?php echo base_url('customer/dashboard/index') ?>";
alert(url)
//get value for throw to controller
alert(value);
$("#specialLink").submit(function(){
$.ajax({
type: "POST", //send with post
url: "<?php echo base_url('customer/dashboard/index') ?>",
data: {value:value},
success:function(data){
alert(data)
}
});
});
});
</script>
HTML 生成
<ul class="dropdown-menu">
<li ><a href="#"><li class='specialLink' id='54th-65hy'>54th-65hy</li><li class='specialLink' id='HT45-YT6T'>HT45-YT6T</li></a></li>
</ul>
控制器
public function index()
{
var_dump($_POST);
print_r($_POST);
$this->data['subview'] = 'customer/dashboard/index';
$this->load->view('customer/_layout_main',$this->data);
}
现在我的警报是正确的,我在警报中获得了正确的 url 我在警报中获得了正确的数据。
但在我的控制器中当我执行 print_r($_POST);我得到空白数组为什么?我哪里错了?
【问题讨论】:
-
向我们展示你的
controller函数 -
添加了控制器@roullie
-
使用此代码获取数据 $value=$this->input->post('value');
-
这是我在您的另一篇文章中提出的问题。你为什么要
$("#specialLink").submit()? -
错字我认为
echo "<li class='specialLink' id='".$site->site_key ."'>".$site->site_key."</li>"; }?></a></li>
标签: javascript php jquery ajax codeigniter