如何按下按钮发布Alamofire JSON请求?

时间:2016-03-16 07:24:53

标签: ios json xcode swift alamofire

我正在尝试构建一个具有登录功能的简单iOS应用程序,但首先我想让它按下注册时的“继续”按钮将数据发布到REST API。由于某种原因,我无法成功将其绑定到按钮按下。下面的代码不知道输入框是什么。我ctr +拖动按钮然后将其添加进去。

import Alamofire
import SwiftyJSON
import UIKit


class SignUpViewController: UIViewController {
    var onButtonTapped : (() -> Void)? = nil

    @IBOutlet weak var usernametextfield: UITextField!
    @IBOutlet weak var passwordtextfield: UITextField!
    @IBOutlet weak var emailtextfield: UITextField!
    @IBOutlet weak var loginMessage: UILabel!

    @IBAction func continueButtonPressed(sender: AnyObject) {

        // POST requests dont need a response!
        Alamofire.request(.POST, endpoint, parameters: inputboxes)

    }

    lazy var json : JSON = JSON.null
    let endpoint = "anyapi.com/api/users"

    override func viewDidLoad() {
        digestUser()
    }

    func digestUser() {

        let passwordInput = self.passwordtextfield.text
        let usernameInput = self.usernametextfield.text
        let emailInput = self.emailtextfield.text


        let inputboxes: [String:AnyObject] = [
            "hashword": passwordInput!,
            "username": usernameInput!,
            "email": emailInput!
        ]
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

编辑:Alamofire无法正常工作,因为我忘记在网址前加上“https://”

3 个答案:

答案 0 :(得分:2)

    Alamofire.request(.POST, BASE_URL , parameters: parameters as? [String : AnyObject])
        .responseJSON { response in
            if let JSON = response.result.value {
                    print("Success with JSON: \(JSON)")
                }
         } 

答案 1 :(得分:2)

inputboxes声明为outlets var inputboxes: [String:AnyObject] = [:]下面的实例变量,它应该有效。

答案 2 :(得分:1)

尝试在函数外声明输入框,以便在整个类中可以访问它。