ios 값을 수신하지 않는 PHP에 대한 해결 방법: 1. afn을 "Content-Type"으로 설정합니다. 2. "$_POST"를 "json_decode(file_get_contents('php://input'), true)"로 변경합니다. 3. "manager.requestSerializer = [AFJSONRequestSerializer 직렬 변환기];".
이 튜토리얼의 운영 환경: macOS10.12.5 시스템, PHP 버전 8.1, macbook pro 2020 컴퓨터.
PHP가 iOS 값을 수신할 수 없으면 어떻게 해야 하나요? PHP가 iOS로부터 POST 요청을 받을 수 없나요?
주요 전제 ===》환경: mac 컴퓨터, mamp 통합 환경, webstorm 개발 도구, iOS는 xcode를 사용합니다.
문제 설명:
PHP는 iOS용 인터페이스를 작성합니다. GET 요청에는 문제가 없지만 PHP는 POST 요청으로 데이터를 가져올 수 없습니다.
1. 처음에는 MAMP 환경인 줄 알았습니다. , 또는 웹스톰 환경 등에 문제가 있어 검색 구성이 작동하지 않습니다.
2. 코드를 통해 문제를 찾아내거나, postman을 사용해 보거나, 제출 후 간단한 양식을 작성해 보면 올바른 게시물 본문 데이터를 명확하게 볼 수 있습니다. 그래서 iOS에 문제가 있는 것인지, 출력 데이터가 누락된 것이 아닐까 의심하여 Charles Blue와 White Porcelain을 이용하여 패킷을 캡쳐한 결과 본체에 데이터가 있는 것을 발견하였습니다. PHP와 iOS에서는 문제가 없는 것 같습니다.
그런 다음 자세히 살펴보고 두 가지 해결책을 찾았습니다.
a iOS의 변경 사항: afn은 Content-Type을 설정합니다. 이는 항상 json 형식으로 데이터를 전송하는 것입니다. x-www-form-urlencoded의 경우 PHP 측에서 $_POST를 사용하면 정상적으로 데이터를 받을 수 있습니다. (나중에 이 방법이 작동하지 않는다는 것이 증명되었습니다...)
b, PHP 측에서 $_POST를 사용하는 대신 json_decode(file_get_contents('php://input'), 진실).
c 사실 afn이 관리자를 초기화할 때 그냥manager.requestSerializer = [AFJSONRequestSerializer serializer]를 제거하면 됩니다! ! ! ! !
추천 학습: "
PHP 비디오 튜토리얼위 내용은 PHP가 ios 값을 수신할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!