[英]Request JSON Alamofire GET
I have a question respect to make request with Alamofire to request GET...Because when i send the request, my server , receive three request, and that request are empty ....I use Alamofire and use One Router , "I send my parameters in json" 我在向Alamofire提出请求以请求GET时遇到问题...因为当我发送请求时,我的服务器收到三个请求,而该请求为空...。我使用Alamofire并使用一个路由器, “我发送我在json中的参数”
case .SearchTravel (let pa1,let pa2,let pa3,let pa4):
let (path: String, parameters: [String: AnyObject]) = {
let parameters = [
"startLat": "12",
"startLng": "12",
"endLat": "12",
"endLng": "21",
]
println(Router.tokenUser)
println(parameters)
return ("travels/Search/", parameters)
}()
let URL = NSURL(string: Router.baseURLString)
let URLRequest = NSMutableURLRequest(
URL: URL!.URLByAppendingPathComponent(path))
//---
URLRequest.HTTPMethod="GET"
if let token = Router.tokenUser {
URLRequest.setValue(
"Token \(token)", forHTTPHeaderField:
"Authorization")
println(token)
}
let encoding = Alamofire.ParameterEncoding.JSON
return encoding.encode(URLRequest, parameters: parameters).0
And when i call to router ... 当我打电话给路由器时...
Django.Router.tokenUser=userLogin.token
Alamofire.request(Django.Router.SearchTravel("23", "32", "32", "32")).responseJSON { request, response, JSON, error in
if error==nil{
println("Ok")
}
else{
println(error)
}
But i dont know if I'm doing well the request or what is the problem... 但我不知道我的要求是否做得很好,还是有什么问题...
Or what is the way to build a json request? 还是构建json请求的方式是什么?
Try this 尝试这个
let parameters = [
"startLat": "12",
"startLng": "12",
"endLat": "12",
"endLng": "21",
]
let data = NSJSONSerialization.dataWithJSONObject(parameters, options: NSJSONWritingOptions.PrettyPrinted, error: nil)
let post = NSString(data: data!, encoding: NSUTF8StringEncoding) as! String
httpPost("http://httpbin.org/post", postData: post) {res, c in
println(res)
}
func httpPost(url:String, postData: String, completion: (String, Int) -> Void) {
var request = NSMutableURLRequest(URL: NSURL(string: url)!)
request.HTTPMethod = "POST"
request.HTTPBody = postData.dataUsingEncoding(NSUTF8StringEncoding);
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.addValue("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36", forHTTPHeaderField: "User-Agent")
request.addValue("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", forHTTPHeaderField: "Accept")
request.addValue("gzip, deflate, sdch", forHTTPHeaderField: "Accept-Encoding")
request.addValue("max-age=0", forHTTPHeaderField: "Cache-Control")
var session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request, completionHandler: { data, response, error in
if let HTTPResponse = response as? NSHTTPURLResponse {
let statusCode = HTTPResponse.statusCode
completion(NSString(data: data, encoding: NSUTF8StringEncoding) as! String, statusCode)
}
})
task.resume()
}
You can modify function as you wish. 您可以根据需要修改功能。 I've tested in via httpbin and saw the result: 我已经通过httpbin进行了测试,并看到了结果:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.