如何在使用 Alamofire 的 POST 网络调用中仅发送字符串值作为参数?

Posted

技术标签:

【中文标题】如何在使用 Alamofire 的 POST 网络调用中仅发送字符串值作为参数?【英文标题】:How can I send only a string value as the parameter in a POST network call using Alamofire? 【发布时间】: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 就是这样。 【参考方案1】:

试试这个

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

【讨论】:

【参考方案2】:

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

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

let parameter = ["parameterName": parameterValue]

希望有帮助!

【讨论】:

以上是关于如何在使用 Alamofire 的 POST 网络调用中仅发送字符串值作为参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Alamofire 4.0 中仅使用参数和正文在 swift 中使用 POST 方法发送请求?

如何在 Swift 3 中使用 Alamofire 在 POST 请求中将给定的 JSON 作为参数发送?

如何使用 Alamofire SWIFT 在 post api 中发送 JSON

对本地网络服务器的 Alamofire http 请求

Alamofire POST 方法不会将值传递给 url

在 Alamofire Post 请求之后如何有一个完成处理程序/块?