1、SwiftyJSON+Alam导入到项目内
2、由于Alam发送POST请求是异步的不能及时返回数据,要把Alam简单封装下,让他能够及时返回数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| func httpsPost(success:((json:AnyObject)->Void)?,failure:((error:NSError)->Void)?){ Alamofire.request(.POST).responseJSON(options: NSJSONReadingOptions.MutableContainers) { (request, response, json, error) -> Void in if error == nil { if success != nil { println(json) success!(json: json!) } } else { if failure != nil { failure!(error: error!) } } } }
|
第一个参数url为网络地址,后面success为请求成功的闭包,第二个failure为请求失败的闭包
第一行为Alam自带的request封装好的发送网络请求的方法,POST请求以及url。后面的responesJSON这个并不是Alam自带的,而是依靠SwiftyJSON的一个解析返回数据的JSON方法,options那个没太注意是干嘛的而且我也没用到过,后面request,response,json,error,前两个对数据来说没啥用,json就是咱要取的发送post请求以后后台返回的数据,如果返回失败(譬如url请求错误、或者参数不对又或者哪里有错误)error为一个错误信息。