0

好吧,我试图将 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');

        }
4

2 回答 2

0

我认为你应该在 URL 中用 " 引号而不是 ' 引号括起来。

在 PHP 中,您应该编码为 JSON 而不是直接回显,以通过 JQuery 检索值。像下面

echo json_encode($_POST['data']);
于 2012-07-03T02:18:39.363 回答
0

我从这里的链接中得到了一个想法

$(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'
        });
    }); 
});
于 2012-07-03T02:39:03.993 回答