php接收不到ios值的解決方法:1、將afn設定為「Content-Type」;2、將「$_POST」改為「json_decode(file_get_contents('php://input') , true)」;3、刪除「manager.requestSerializer = [AFJSONRequestSerializer serializer];」即可。
本教學操作環境:macOS10.12.5系統、PHP8.1版、macbook pro 2020電腦。
php接收不到ios值怎麼辦? PHP接收不到iOS發出POST請求問題?
大前提===”環境:mac電腦,mamp整合環境,webstorm開發工具,iOS是用xcode。
問題描述:
PHP給iOS寫接口,GET請求沒問題,POST請求PHP死活拿不到資料
思路指引:
1 、剛開始以為是mamp環境,或是webstorm環境有問題,各種搜尋配置,不管用。
2、透過程式碼定位問題,嘗試用postman,或寫一個簡單form表單post提交,都可以明顯看到正確post body資料。所以,懷疑iOS這邊有問題,可能輸出資料缺失,於是用charles青花瓷抓包,發現body是有資料的。這就有疑問了,php和ios這邊看起來都沒問題的。
然後仔細看了下,有兩種解決方法:
a,iOS這邊改變:afn設定Content-Type,一直以來都用的application/json,這是以json格式傳遞資料的,更換為application/x-www-form-urlencoded,php那邊用$_POST就可以正常接收資料了。 (後來證明這個辦法不行。。。。。)
b,php這邊不是用$_POST改為json_decode(file_get_contents('php://input'), true)也是可以的。
c,其實afn 初始化manager的時候去掉manager.requestSerializer = [AFJSONRequestSerializer serializer];就可以了! ! ! ! !
推薦學習:《PHP影片教學》
以上是php接收不到ios值怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!