【问题标题】:How can I send only a string value as the parameter in a POST network call using Alamofire?如何在使用 Alamofire 的 POST 网络调用中仅发送字符串值作为参数?
【发布时间】:2017-02-15 11:40:44
【问题描述】:

所以让我们说,而不是这个,

let parameters: [String: Any] = [
    "settings":
        [
            "username" : UILabel.text,
            "password": textField.text,
        ],
]

Alamofire.request("myURL", method: .post, parameters: parameter, encoding:)
.responseJSON { response in
print(response)
}

我想知道我是否可以像这样只发送一个字符串作为参数,

let parameter: String
parameter = "SampleString"

Alamofire.request("myURL", method: .post, parameters: parameter).responseJSON{ response in 
print(response)
}

【问题讨论】:

  • 字符串本身不能用作参数。它应该具有键值。为什么要发送单个字符串?
  • 例如如果我在iOS中使用内置网络, var request = URLRequest(url: URL(string: "example.com")!) request.httpMethod = "POST" let postString = parameter 怎么做使用 Alamofire 也一样?
  • 在那个例子中你根本不发送任何参数。在 alamofire 中发送参数:nil 就是这样。

标签: swift post alamofire


【解决方案1】:

试试这个

var params = "{\"username\": \"\(UILabel.text)\"}"
Alamofire.request(url, method:.post, parameters:[params]).responseJSON { response in
            debugPrint(response)
}

【讨论】:

    【解决方案2】:

    我认为你的参数总是需要是字典类型,这样你就有一个键值对。

    如果你只想拥有一把钥匙,你可以这样做:

    let parameter = ["parameterName": parameterValue]
    

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 2016-11-19
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 2016-10-16
      相关资源
      最近更新 更多