jquery json帖子不工作

时间:2012-07-03 02:14:16

标签: javascript jquery ajax json cakephp

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

        }

2 个答案:

答案 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'
        });
    }); 
});