ext 與 PHP 交互時,ext 把 json 數據 post 給 PHP,但在 PHP里面 $_post 獲取不到,$_REQUEST 也獲取不到,但是通過 firedebug 看到的請求信息確實是把 JSON 數據 post 給了 PHP。
想到以前通過flash將圖片二進制流傳給 PHP,然后使用 $GLOBALS['HTTP_RAW_POST_DATA'] 后正常獲取到數據。
PHP 默認只識別 application/x-www.form-urlencoded 標准的數據類型,因此,對型如 text/xml 或者 soap 或者 application/octet-stream 之類的內容無法解析,如果用 $_POST 數組來接收就會失敗,故保留原型,交給 $GLOBALS['HTTP_RAW_POST_DATA'] 來接收。
另外還有一項 php://input 也可以實現此這個功能
file_get_contents("php://input");
php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。php://input 不能用於 enctype="multipart/form-data"。