我正在尝试使用Codeigniter接收和解析通过POST请求发送的JSON对象,但是我无法“找到”它。
这是我的控制器代码:
public function parse () {
$json = $this->input->post();
$json = stripslashes($json);
$json = json_decode($json);
print_r($json);
}
这是我的JSON对象:
{"data":"value"}
我正在尝试使用Codeigniter接收和解析通过POST请求发送的JSON对象,但是我无法“找到”它。
这是我的控制器代码:
public function parse () {
$json = $this->input->post();
$json = stripslashes($json);
$json = json_decode($json);
print_r($json);
}
这是我的JSON对象:
{"data":"value"}
这是正确的做法。
$input_data = json_decode(trim(file_get_contents('php://input')), true);
$post = json_decode($this->security->xss_clean($this->input->raw_input_stream));
当您使用$this->input->raw_input_stream时,您可以多次读取它,它基本上与file_get_contents('php://input')相同。这适用于CI3。我不知道它是否适用于CI2。
尝试运行此代码,它将输出一个包含所有参数的数组。
$this->input->raw_input_stream;
$input_data = json_decode($this->input->raw_input_stream, true);
$input_data
将返回一个数组
$json = $this->input->post('data');
$json = stripslashes($json);
$json = json_decode($json);
print_r($json);
post()
函数。controller:
puplic function exam(){
$obj = file_get_contents('php://input');
$edata = json_decode($obj);
echo $edata->name;
}
Go to post man->type->post
url:http://www.exam.com/exam
formate:json
{
"name":"atm fahim"
}
==>send
只需在请求头中添加正确的内容类型即可。
Content-Type: application/json
$json = json_decode(trim(file_get_contents('php://input')), true);
if(!empty($json)) {
$_POST = $json;
}
要么在Bootstrap中实现。 RIP Codigniter...(
确保您有POST数据,使用$this->input->post()
将始终返回空值,您应该在输入类型名称上放置$this->input->post('name_of_input_text')
$this->input->get_post_string('data');
function get_post($index = '', $xss_clean = FALSE){
if ( ! isset($_POST[$index]) )
{
return $this->get($index, $xss_clean);
}
else
{
return $this->post($index, $xss_clean);
}
}