Почему массив POST всегда пустой?
Использую php скрипт для обработки запросов с IOS приложения. Но мой POST-массив всегда пустой. Пытался изначально тестить скрипт через Postman, в этом случае массив post также всегда был пуст. Думал, что ошибка в самом postman, но когда руки дошли до написания кода swift и отправки запроса на сервер, понял, что ошибка на серверной стороне.
Вот мой код:
<?php
header('Content-Type: application/json');
$response = array();
if(isset($_POST) and count($_POST)){
if($_POST['web_pass'] == WEB_PASS){
$response['error']=false;
$response['message']='Auth complete successful';
}else{
$response['error']=true;
$response['message']='Error - 1: Wrong pass auth';
}
}else{
$response['error']=true;
$response['message']='Вы не авторизированы';
}
print_r(json_encode($response));
Ответ от сервера всегда "Вы не авторизированы" Возможно, ошибки в настройке сервера, но в других модулях все работает.
Дополнительно:
Код на стороне swift:
let data = [ "web_pass" : httpREQ.web_pass ] as [String : Any]
AF.request(httpREQ.URL, method: .post, parameters: data, encoding: JSONEncoding.default, headers: nil).validate(statusCode: 200 ..< 500).responseString { AFdata in
do {
guard let jsonObject = try JSONSerialization.jsonObject(with: AFdata.data!) as? [String: Any] else {
print("Error: Cannot convert data to JSON object")
return
}
guard let prettyJsonData = try? JSONSerialization.data(withJSONObject: jsonObject, options: .prettyPrinted) else {
print("Error: Cannot convert JSON object to Pretty JSON data")
return
}
guard let prettyPrintedJson = String(data: prettyJsonData, encoding: .utf8) else {
print("Error: Could print JSON in String")
return
}
print(prettyPrintedJson)
} catch {
print("Error: Trying to convert JSON data to string")
return
}
}