目錄
如何用PHP获取无字段的json数据
1、如何用PHP获取json数据?
2、客户端直接传json数据过来
首頁 後端開發 php教程 如何用PHP获取无字段的json数据

如何用PHP获取无字段的json数据

Jun 20, 2016 pm 01:02 PM
php

如何用PHP获取无字段的json数据

1、如何用PHP获取json数据?

解决这个问题,通常的解决方式是这样的:
$jsonData = $_POST[‘jsonstr’];
此方式需要客户端提交一个jsonstr的参数过来,里面含的数据是json字符串,然后在服务端解析。

2、客户端直接传json数据过来

如果客户端直接传json数据过来,而没有上述jsonstr的参数。使用$_GET,$_POST 和 $_REQUEST是获取不到数据的。
解决的办法就是使用使用$GLOBALS这个全局变量,$GLOBALS[‘HTTP_RAW_POST_DATA’]就能获取客户端传来的json数据了。

下面给出Thinkphp中控制器的使用curl提交数据代码:

class CcAction extends Action {
 public function getjson(){
 echo json_encode($GLOBALS['HTTP_RAW_POST_DATA']);//这里就能获取到testcurl传来的$json_string
 }
 public function testcurl(){
 $header = array('Accept:application/json', 'Content-Type:application/json');
 $patoken = array(
 'name' => 'phpjyz',
 'age' => '23',
 );
 $json_string = json_encode($patoken);
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_USERAGENT, 'SSTS Browser/1.0');
 curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
 
 curl_setopt($ch, CURLOPT_URL, 'http://www.scutephp.com/api.php/cc/getjson');
 curl_setopt($ch, CURLOPT_POSTFIELDS, $json_string);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
 $ret = curl_exec($ch);
 print_r(json_decode($ret, true));
 }
}

登入後複製

返回的数据和$json_string是一模一样的。


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

See all articles