Home >Backend Development >PHP Problem >What should I do if php cannot receive the ios value?
Solution to the problem that php cannot receive the ios value: 1. Set afn to "Content-Type"; 2. Change "$_POST" to "json_decode(file_get_contents('php://input') , true)"; 3. Delete "manager.requestSerializer = [AFJSONRequestSerializer serializer];".
The operating environment of this tutorial: macOS10.12.5 system, PHP version 8.1, macbook pro 2020 computer.
What should I do if php cannot receive the ios value? PHP cannot receive the POST request sent by iOS?
Major premise===》Environment: mac computer, mamp integrated environment, webstorm development tool, iOS uses xcode.
Problem description:
PHP writes an interface for iOS. GET request is fine, but POST request cannot get the data.
Guidelines:
1 , At first I thought it was the mamp environment, or there was something wrong with the webstorm environment, and various search configurations didn't work.
2. Locate the problem through the code, try to use postman, or write a simple form post submission, and you can clearly see the correct post body data. Therefore, I suspected that there was a problem on the iOS side, and the output data might be missing, so I used Charles Blue and White Porcelain to capture the packet and found that the body had data. This is a question. There seems to be no problem on PHP and iOS.
Then I took a closer look and found two solutions:
a, iOS changes: afn sets Content-Type, application/json has been used, this is json If you want to transfer data in the format, change it to application/x-www-form-urlencoded, and use $_POST on the PHP side to receive the data normally. (It was later proven that this method did not work...)
b, instead of using $_POST on the PHP side, it is also possible to change it to json_decode(file_get_contents('php://input'), true).
c, in fact, when afn initializes the manager, remove manager.requestSerializer = [AFJSONRequestSerializer serializer]; and that’s it! ! ! ! !
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What should I do if php cannot receive the ios value?. For more information, please follow other related articles on the PHP Chinese website!