Я пытаюсь отправить данные через POST на сервер в Swift 2.1, однако сервер никогда не получает никаких данных.
Swift:
let url = NSURL(string: "http://www.myserver.com/test.php");
let request = NSMutableURLRequest(URL:url!)
request.HTTPMethod = "POST";
let postString = "firstName=TestName1&lastName=TestName2";
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding);
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
let session = NSURLSession.sharedSession();
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
let urlContent = NSString(data: data!, encoding: NSUTF8StringEncoding) as NSString!
print("Data: \(urlContent)");
});
task.resume();
PHP:
<?php
// Read request parameters
$firstName= $_REQUEST["firstName"];
$lastName = $_REQUEST["lastName"];// Store values in an array
$returnValue = array(“firstName”=>$firstName, “lastName”=>$lastName);
// Send back request in JSON format
echo json_encode($returnValue); ?>
Возвращает:
Данные: {«firstName»: null, «lastName»: null}
Я пытался решить эту проблему в Интернете, однако большинство решений устарели, поскольку не соответствуют устаревшим требованиям и изменениям, внесенным в Swift 2.
Есть идеи?
Удалив следующие строки кода, я получил данные для правильного возврата:
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
Других решений пока нет …