【问题标题】:not getting correct response for post method using alamofire,result is failure [closed]使用 alamofire 的 post 方法没有得到正确的响应,结果是失败 [关闭]
【发布时间】: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 至少显示您的代码,然后我们很容易根据您的实现提出建议。

标签: swift post alamofire


【解决方案1】:

您必须在某个变量中具有 mobilepin 的值。 比方说,strMobilestrPin 只需在您的字典中替换它即可。

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 方法,但没有搜索动态参数
  • 我在控制台中得到响应,但是你能告诉我如何在模拟器上获取它,因为如果我输入错误的数字,我没有收到任何消息,我只在控制台中得到响应,说那个数字是错误的,你能告诉如何为此编写函数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 2018-08-09
  • 2016-01-09
  • 1970-01-01
相关资源
最近更新 更多