swift web请求不提交(使用alamofire)

时间:2016-07-04 18:07:03

标签: xcode swift httpwebrequest alamofire

我猜测我的请求不完整......我无法弄清楚我错过了什么。当我运行它时,没有任何提交,它只是永远挂起......请帮忙!

import Foundation
import Alamofire
import SwiftyJSON

class getToken: UIViewController {


let headers = [
"Content-Type": "application/json",
"Accept": "application/json"]

func fetchToken(contentID: String, completion: ([String]) -> Void) {
Alamofire.request(
    .GET,
    "https://secure3.saashr.com:443/ta/rest/v1/login?company=slszdr&username=abc&password=123",
    headers: headers).validate().responseJSON { response in
        switch response.result {
        case .Success(let data):
            let json = JSON(data)
            let name = json["name"].stringValue
            print(name)
        case .Failure(let error):
            print("request failed with error: \(error)")
        }
}}}

这是来自我的视图控制器的调用:

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    getToken()
}}

1 个答案:

答案 0 :(得分:1)

在View控制器类中,我看到了以下代码:

override func viewDidLoad() {
super.viewDidLoad()
getToken()
}

这似乎不对。因为您正在创建getToken“class”的实例, 你从来没有真正称呼你方法fetchtoken()  我认为你必须将其更改为:

override func viewDidLoad() {
    super.viewDidLoad()
    let instanceOfGetTokenClass = getToken()
    instanceOfGetTokenClass.fetchToken(// send parameters here)
}

也许你对类名“getToken”和方法名称“fetchToken”感到困惑:)