這是我的網址字符串與參數。 http://api.room2shop.com/api/product/GetProducts?categoryId=22&filter=2&pageNumber=1通過我得到我的JSON數據。我有AFWrapper.swift文件,我已經爲GETrequest定義了函數。使用GET請求和參數與Alamofire獲取JSON結果
import UIKit
import Alamofire
import SwiftyJSON
class AFWrapper: NSObject {
class func requestGETURL(strURL: String, params : [String : AnyObject]?, success:(JSON) -> Void, failure:(NSError) -> Void) {
Alamofire.request(.GET, strURL, parameters: params, encoding: ParameterEncoding.JSON).responseJSON { (responseObject) -> Void in
print(responseObject)
if responseObject.result.isSuccess {
let resJson = JSON(responseObject.result.value!)
success(resJson)
}
if responseObject.result.isFailure {
let error : NSError = responseObject.result.error!
failure(error)
}
}
}
}
現在我在我的ViewController.swift文件中調用這個函數。
let strURL = "http://api.room2shop.com/api/product/GetProducts"
let param = ["categoryId": "22", "filter": "2", "pageNumber": "1"]
AFWrapper.requestGETURL(strURL, params: param, success: {
(JSONResponse) -> Void in
if let resData = JSONResponse["ProductList"].arrayObject {
for item in resData {
self.TableData.append(datastruct(add: item as! NSDictionary))
}
do
{
try self.read()
}
catch
{
}
self.do_table_refresh()
}
}) {
(error) -> Void in
print(error)
}
但它沒有給我任何迴應,並給我這個錯誤。
FAILURE:錯誤域= NSURLErrorDomain代碼= -1017 「不能分析 響應」 的UserInfo = {NSErrorFailingURLStringKey = http://api.room2shop.com/api/product/GetProducts, _kCFStreamErrorCodeKey = -1,NSErrorFailingURLKey = http://api.room2shop.com/api/product/GetProducts, NSLocalizedDescription =無法解析響應, _kCFStreamErrorDomainKey = 4,NSUnderlyingError = 0x78ecf180 {錯誤域= kCFErrorDomainCFNetwork代碼= -1017 「(空)」 的UserInfo = {_ kCFStreamErrorDomainKey = 4,_kCFStreamErrorCodeKey = -1}}} 錯誤域= NSURLErrorDomain代碼= -1017 「不能分析響應」 的UserInfo = {NSErrorFailingURLStringKey = http://api.room2shop.com/api/product/GetProducts, _kCFStreamErrorCodeKey = -1,NSErrorFailingURLKey = http://api.room2shop.com/api/product/GetProducts, NSLocalizedDescription =無法解析響應, _kCFStreamErrorDomainKey = 4,NSUnderlyingError = 0x78ecf180 {錯誤域= kCFErrorDomainCFNetwork代碼= -1017 「(空)」 的UserInfo = {_ kCFStreamErrorDomainKey = 4,_kCFStreamErrorCodeKey = -1}}}
誰能告訴我我做錯了什麼?我已經找到了這個鏈接,但沒有得到什麼錯誤。 URL Encode Alamofire GET params with SwiftyJSON
是啊我知道直接URL正在給予迴應。但我想傳遞參數@ n.by.n –
Web服務通過字符串操作(即在URL字符串中提供參數)或以JSON格式創建接受參數的服務有兩種方式參數,但在後一種情況下,您的URL應該是乾淨的,不需要任何參數。 (這是很好的做法)。爲了在GET服務中將參數作爲JSON來處理,我正在編輯我的答案。檢查! –
耶..我解決了.. –