Swift 2.1 POST 通过 HTTPBody 不工作

Swift 2.1 POST through HTTPBody not working

我正在尝试通过 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); ?>

Returns:

Data: {"firstName":null,"lastName":null}

我已经在网上进行了调查以试图解决这个问题,但是,大多数解决方案都已过时,因为它们不符合 Swift 2.[=15 带来的弃用和更改=]

有什么想法吗?

通过删除以下代码行,我将数据正确 return:

request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")