【发布时间】:2016-07-08 13:09:13
【问题描述】:
哇,这很奇怪。我查看了我的网络服务器日志,并且在模拟器上运行我的代码时,它会发出以下请求...
2016-07-08 13:00:10 172.31.52.24 GET /admin/api/cities/Lond
但是当我发布到我的设备时,它会这样做......
2016-07-08 13:04:03 172.31.52.24 GET /admin/api/cities pageindex=1&term=Londo
这怎么可能?
这是网络请求代码...
public func DoWebRequest(url: String, parameters: [String: AnyObject]? = nil) -> Promise<AnyObject> {
return Promise { fulfill, reject in
let request = Alamofire.request(.GET, webServiceUrl + url)
request.responseString { response in
guard response.result.error == nil else {
reject(response.result.error!)
return
}
fulfill(response.result.value!)
}
}
}
存储库...
public func fetchCities(term: String) -> Promise<[City]> {
return DoWebRequest("cities/\(term)") { self.BindCity($0) }
}
服务...
public func getCities(term: String) -> Promise<[City]> {
return tourRepository.fetchCities(term)
}
客户...
func updateSearchResultsForSearchController(searchController: UISearchController) {
if searchController.active && searchController.searchBar.text?.characters.count >= 4 {
tourService.getCities(searchController.searchBar.text!)
.then { result -> Void in
self.cities = result
}
} else {
self.cities = []
}
}
【问题讨论】:
-
你可能会错过输入 London
-
为什么会导致不同的 URL?
-
可以分享代码吗?
-
@IshmeetSingh 已更新。
-
这可能与服务器有关。服务器也可能是分页结果。在发送请求之前尝试在控制台上打印您的网址。
标签: iphone swift ios-simulator alamofire