用json传递jquery变量

时间:2012-08-21 13:01:01

标签: jquery ajax json cakephp

我正在尝试将jquery字符串传递给我的cakephp控制器但是我一直收到错误,说json_decode需要一个字符串但是传递了一个数组。

以下是我的ajax的代码:

var str = 'Data that i need';

    var jsonString = JSON.stringify(str);

    $.ajax({
        type: "POST",
        url: "http:/Configs/",
        cache: false,
        datatype: 'json',
        data: {data : jsonString},
        timeout: 100000,

        success: function(data) 
        {
            alert('Ok');
        }
    });

并且在我的控制器中我试图像这样接收数据:

$value = json_decode($_POST['data']);

但我得到上面提到的错误任何想法如何解决这个将是非常感谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

var str = 'Data that i need';

var jsonString = JSON.stringify(str);

var DataToSend = {};
DataToSend.data = JSON.stringify(jsonString);

$.ajax({
    type: "POST",
    url: "http:/Configs/",
    cache: false,
    datatype: 'json',
    data: JSON.stringify(DataToSend),
    timeout: 100000,

    success: function(data) 
    {
        alert('Ok');
    }
});

答案 1 :(得分:1)

您确定使用的网址是否正确? 如果您正在使用CakePHP,那么为什么不使用$this->request->data

尝试使用

调试代码
pr($_POST); exit;

pr($this->request); exit;

他们说什么?