色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

ci post json

阮建安1年前9瀏覽0評論

在CodeIgniter中,使用HTTP協(xié)議來傳遞數(shù)據(jù)非常方便,可以通過post方式發(fā)送數(shù)據(jù)并且也可以直接發(fā)送json數(shù)據(jù)。這里我們重點介紹一下如何通過post方式發(fā)送json數(shù)據(jù)。

首先在controller中,需要使用CodeIgniter的input類來獲得post提交的數(shù)據(jù)。具體操作可以參考下面的代碼:

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);

以上代碼中,$postdata是一個字符串,可以通過file_get_contents函數(shù)來獲取HTTP請求中的數(shù)據(jù)。然后使用json_decode函數(shù)將$postdata轉(zhuǎn)換成一個對象或者數(shù)組。

接下來,我們就可以對$request進行處理,比如對其中的某些字段進行校驗、對數(shù)據(jù)庫進行操作等等。最后返回處理結(jié)果即可。

當(dāng)然,在發(fā)送post請求時,需要在請求頭中添加Content-Type,比如application/json,告訴服務(wù)器發(fā)送的是json格式的數(shù)據(jù)。例如:

$url = "http://example.com/api";
$data = array("name" =>"John", "age" =>30);
$json_data = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($json_data))
);
$result = curl_exec($ch);
curl_close($ch);

以上代碼中,通過curl庫發(fā)送了一個post請求,并且請求頭中添加了Content-Type和Content-Length頭信息。

總結(jié)來說,通過CodeIgniter發(fā)送post方式的json數(shù)據(jù)十分簡單,只需要在controller中使用input類獲得數(shù)據(jù)即可。在發(fā)送post請求時,需要注意請求頭中的Content-Type。