Javascript jquery json post不工作
嗯,我正在尝试将jquery中的一个变量发布到我的控制器。但这篇文章似乎并不成功。当我试图在我的控制器中检索它时,我没有得到任何值。它表示未定义的索引。以下是我所拥有的: 我的jquery:Javascript jquery json post不工作,javascript,jquery,ajax,json,cakephp,Javascript,Jquery,Ajax,Json,Cakephp,嗯,我正在尝试将jquery中的一个变量发布到我的控制器。但这篇文章似乎并不成功。当我试图在我的控制器中检索它时,我没有得到任何值。它表示未定义的索引。以下是我所拥有的: 我的jquery: $(document).ready(function(){ $('.buttons').click(function(){ var data = $(this).attr("value"); // var test = 'test'; jQuery.aja
$(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);
// }
});
});
});
我认为你应该在URL中用引号而不是引号括起来 在PHP中,您应该编码为JSON而不是直接echo,以便通过JQuery检索值。 如下
echo json_encode($_POST['data']);
我从这个链接中得到了一个想法
$(文档).ready(函数(){
$('.buttons')。单击(函数(){
var data=$(this.attr(“value”);
//var测试=‘测试’;
jQuery.ajax({
url:“”,
键入:“POST”,
async:false,
数据:{data:data},
数据类型:“json”
});
});
});
你有没有跟firebug核实过,它到底发送了什么。另外,我认为你应该在URL中用“引号”而不是“引号”括起来“引用不起作用。。。关于检查发送给我的控制器的内容,没有发送任何内容,因此数据为空。。我真的很想知道怎么回事。你有没有试着打印整个POST数组,看看它是否发送了值?所以,为了确保我们在同一页上。。您已尝试打印($\u POST)。。我必须确保,如果您正在打印整个数组,而没有指定一个,那么它不应该返回“undefined index”。即使是一个完全空的数组也会在没有错误消息的情况下打印结果(我刚刚在本地机器上测试过)。。?什么是键/值对?我找到了一个解决方案,但我的只是暂时的。。伊曼,我相信我的解决方案只是将一个变量传递给控制器。。
echo json_encode($_POST['data']);
$(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'
});
});
});