我正在尝试将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']);
但我得到上面提到的错误任何想法如何解决这个将是非常感谢。
答案 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;
他们说什么?