我通过jQuery调用控制器(Codeigniter)。我的dataString变量包含一个简单的字符串,我试图将其传递给我的控制器,因此我可以将它传递给模型。但是,我收到一个错误,表明我的$ test_var未定义。我做错了什么?
$('a.test').click(function (event) {
dataString = $(this).attr('name');
$.ajax({
type:"POST",
url:"<?php echo base_url(); ?>controller_name/",
data:dataString,
success:function (data) {
alert('test');
}
});
event.preventDefault();
});
控制器
$ test_var = $ this-&gt; input-&gt; post('dataString');
答案 0 :(得分:3)
尝试使用name = value对:
$('a.test').click(function (event) {
dataString = $(this).attr('name');
$.ajax({
type:"POST",
url:"<?php echo base_url(); ?>controller_name/",
data:'dataString='+dataString,
success:function (data) {
alert('test');
}
});
event.preventDefault();
});
答案 1 :(得分:1)
你也可以这样做,这是一种替代语法
$('a.test').click(function (event) {
dataString = $(this).attr('name');
$.ajax({
type:"POST",
url:"<?php echo base_url(); ?>controller_name/",
data:{'dataString':dataString},
success:function (data) {
alert('test');
}
});
event.preventDefault();
});
控制器中的 $test_var= $this->input->post('dataString');
或者就像在香草php中一样
$test_var = $_POST['dataString'];
答案 2 :(得分:0)
使用像这样的数据选项 数据:{name:“John”,location:“Boston”} 有关详情,请查看http://api.jquery.com/jQuery.ajax/