Php 通过AJAX发送JSON,返回任何内容
问题分为两部分 如何在AJAX调用的控制器中获取post数据? 我发送的JSON没有标识。例如:Php 通过AJAX发送JSON,返回任何内容,php,jquery,json,codeigniter,Php,Jquery,Json,Codeigniter,问题分为两部分 如何在AJAX调用的控制器中获取post数据? 我发送的JSON没有标识。例如: $.ajax({ type: 'POST', url: action, data: JSON.stringify(data), success: function(data){ alert(data); }, dataType: 'json' }); 其中,数据只是[{“name”:“variable\u name”,“value”:
$.ajax({
type: 'POST',
url: action,
data: JSON.stringify(data),
success: function(data){
alert(data);
},
dataType: 'json'
});
其中,数据
只是[{“name”:“variable\u name”,“value”:“12”}]
我正在努力:
public function save()
{
header('Content-Type: application/json');
$json = $this->input->post('data');
echo $json;
}
如何返回JSON以外的内容? 例如,我正在使用以下控制器进行测试:
public function save()
{
echo "test";
}
调用success函数时得到的结果是null
有指针吗?您不必设置
数据类型。当数据类型设置为'json'
jquery会自动将接收到的数据转换为js对象。由于只返回一个字符串(这不是有效的json),json解析器不知道该做什么,只返回null。通过删除数据类型,您可以获得原始字符串,然后根据字符串的内容使用条件来决定是否将其解析为json。您不必设置数据类型。当数据类型设置为'json'
jquery会自动将接收到的数据转换为js对象。由于只返回一个字符串(这不是有效的json),json解析器不知道该做什么,只返回null。通过删除数据类型,您可以获取原始字符串,然后根据字符串的内容使用条件来决定是否将其解析为json。在php中获取原始POST数据的方式(至少有一种方式是)file\u get\u contents('php://input)
这将以原始字符串的形式返回JSON,您可以调用JSON\u decode
。在php中获取原始POST数据的方式(至少有一种方式是)file\u get\u contents('php://input)
这将以原始字符串的形式返回JSON,您可以调用JSON\u decode
on