用json传递jquery变量

我试图将一个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']); 

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

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

尝试使用调试代码

 pr($_POST); exit; 

要么

 pr($this->request); exit; 

他们说什么?

试试这个:

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