好吧,我试图将jquery中的变量发布到我的控制器。但似乎发布不成功。当我尝试在我的控制器中检索它时,我没有得到任何价值。它说未定义的索引。这就是我所拥有的:
我的jquery:
$(document).ready(function(){
$('.buttons').click(function(){
var data = $(this).attr("value");
// var test = 'test';
jQuery.ajax({
url:'<?php echo $this->Html->url(array('controller'=>'maps','action'=>'instantiateButtonValue'));?>',
type: 'POST',
async: false,
data: data,
dataType: 'json'
// success:function(data){
// alert(data);
// },
// error:function(data){
// alert(data);
// }
});
});
});
我的控制员:
function instantiateButtonValue(){
echo $_POST['data'];
// $this->set('data','some');
// $this->render('json');
}
答案 0 :(得分:0)
我认为你应该在网址中加上“引号而不是'引号。
从PHP开始,您应该编码为JSON而不是直接回声,以通过JQuery检索值。 如下所示
echo json_encode($_POST['data']);
答案 1 :(得分:0)
我从这个链接here
得到了一个想法$(document).ready(function(){
$('.buttons').click(function(){
var data = $(this).attr("value");
// var test = 'test';
jQuery.ajax({
url:"<?php echo $this->Html->url(array('controller'=>'maps','action'=>'instantiateButtonValue'));?>",
type: 'POST',
async: false,
data: {data:data},
dataType: 'json'
});
});
});