我有正文令牌和customer_id。我想要进入身体。我还想传递包含x-access-token的头文件。这是我现在的代码
func sendToken(token:PSTCKToken, customer_id: Int){
let url = NSURL(string: "urlGoesHERE")!
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.setValue("x-access-token", forHTTPHeaderField: "Bearer xxxxxxxxxxxx")
let postBody = "token=\(token)&customer_id=\(customer_id)"
let postData = postBody.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
let session = NSURLSession.sharedSession()
session.uploadTaskWithRequest(request, fromData: postData, completionHandler: { data, response, error in
let successfulResponse = (response as? NSHTTPURLResponse)?.statusCode == 200
if successfulResponse && error == nil && data != nil{
// All was well
let newStr = NSString(data: data!, encoding: NSUTF8StringEncoding)
print(newStr) // All we did here is log it to the output window
} else {
if let e=error {
print(e.description)
} else {
// There was no error returned though status code was not 200
print("There was an error communicating with payment backend.")
// All we did here is log it to the output window
}
}
}).resume()
}
这是我使用NSMutableURLRequest的代码 如何使用NSMutableURLRequest或Alamofire
执行此操作答案 0 :(得分:2)
POST
创建一个通用的// MARK: Common Request
func PostApiRequest(method: Alamofire.Method, url: String, apiData: [String : AnyObject], completion:(finished: Bool, response: AnyObject?) ->Void) {
let headers = ["x-access-token": "Bearer xxxxxxxxxxxx"]
Alamofire.request(method, url, parameters: apiData, encoding: .JSON, headers: headers).responseJSON{ response in
if let JSON = response.result.value {
completion(finished: true, response: JSON)
} else {
completion(finished: false, response:response.result.error)
}
}
}
请求方法
let param = ["token":"token value here", "customer_id":"123456"]
self.PostApiRequest(.POST, url: API_LOGIN, apiData: params) { (finished, response) in
if(finished)
{
print(response)
}
else{
}
}
调用上述通用方法如下: -
UITextView