0

我正在尝试通过 POST 将数据发送到 Swift 2.1 中的服务器,但是,服务器似乎从未收到任何数据。

迅速:

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 带来的弃用和更改。

有任何想法吗?

4

1 回答 1

1

通过删除以下代码行,我得到了正确返回的数据:

request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
于 2015-10-31T19:13:21.807 回答