使用 alamofire 的 post 方法没有得到正确的响应,结果是失败 [关闭]
Posted
技术标签:
【中文标题】使用 alamofire 的 post 方法没有得到正确的响应,结果是失败 [关闭]【英文标题】:not getting correct response for post method using alamofire,result is failure [closed] 【发布时间】:2017-03-14 06:08:26 【问题描述】:对于使用 Alamofire 的 post 方法,我没有得到正确的响应。 结果是失败,并且响应内容类型获取 text/xml 而不是 application/json,任何人都可以帮我解决这个问题。
`
let params = ["mobile":"0000000000", "pin":"000000", "devicekey":"99", "deviceOs":"123456", "deviceOsVersion":"12", "userType":"employee"]
var request = URLRequest(url: Login_URL! as URL)
request.httpMethod = "POST"
request.setValue ("application/json",forHTTPHeaderField: "Content-Type")
let data = try! JSONSerialization.data(withJSONObject: params as Any, options: JSONSerialization.WritingOptions.prettyPrinted)
let json = NSString(data: data, encoding: String.Encoding.utf8.rawValue)
if let json = json
print(json)
request.httpBody = json!.data(using: String.Encoding.utf8.rawValue);
Alamofire.request("Login_URL",method: .post, parameters: params, encoding: JSONEncoding.default)
.responseJSON(options: .allowFragments) response in
print("Request: \(response.request)")
print("Response: \(response.response)")
print("Data: \(response.data)")
print("Result: \(response.result)")
if let JSON = response.result.value
print("JSON: \(JSON)`
这里我给的参数是 0000000000 和 000000 分别用于移动和 pin 但我想为此提供动态值,我该怎么做。
【问题讨论】:
您能否展示您尝试过的代码以及收到的错误类型? 嗨,我刚得到输出,是 url 拼写错误 嗨,你能解释一下我们如何动态获取参数吗,例如:我有用户名和密码,应该是动态的,你能解释一下如何使用 post 方法@Dhruv @vineela 你问的是向 alamofire 添加参数吗? @vineela 至少显示您的代码,然后我们很容易根据您的实现提出建议。 【参考方案1】:您必须在某个变量中具有 mobile
和 pin
的值。
比方说,strMobile
和 strPin
只需在您的字典中替换它即可。
let params = ["mobile": strMobile, "pin":strPin, "devicekey":"99", "deviceOs":"123456", "deviceOsVersion":"12", "userType":"employee"]
或者使用var
代替let
,然后填写键值。
var params = ["devicekey":"99", "deviceOs":"123456", "deviceOsVersion":"12", "userType":"employee"]
params["mobile"] = strMobile
params["pin"] = strPin
【讨论】:
会尝试让你知道,你 它的工作谢谢你:-) 太棒了。看来你是新来的。所以我建议下次做一些搜索然后问一个问题。 是的,我是这个快速编程的新手,我搜索了 post 方法,但没有搜索动态参数 我在控制台中得到响应,但是你能告诉我如何在模拟器上获取它,因为如果我输入错误的数字,我没有收到任何消息,我只在控制台中得到响应,说那个数字是错误的,你能告诉如何为此编写函数以上是关于使用 alamofire 的 post 方法没有得到正确的响应,结果是失败 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire4在使用方法时抛出“额外参数方法”:.post
使用 Alamofire 请求方法在 POST 的请求正文中发送 JSON 对象数组
Alamofire POST 方法中的 POST 对象数组 - Swift/IOS