Alamofire POST编码问题

时间:2018-03-01 13:34:56

标签: swift post alamofire

我尝试按如下方式登录网络服务:

func Login(completionHandler:@escaping (Bool) -> ()) {
        let url = MyUrl
        let parameters: Parameters = [
            "Password":password,
            "StayLoggedIn":NSNumber(value: true),
            "UserName":username
        ]

        var headers:HTTPHeaders = commonHeaders()
        headers["Content-Type"] = "application/json;charset=UTF-8"

        Alamofire.request(url, method:.post, parameters:parameters, headers:headers).responseJSON { response in
            switch response.result {
            case .success:
                debugPrint(response)

            case .failure(let error):
                print(error)
            }

        }
    }

不知何故,服务器返回501错误。 我正在重写Swift中的Obj-c应用程序,并将AURofire中的NSURLSessions替换为讨价还价。

我在工作的obj-c应用程序中看到的是发送到服务器的标头包含

Content-Type: application/json;charset=UTF-8 

正如您所看到的,我明确地将此标头添加到我的请求中,但不知何故,它不会发送到服务器。

我还看到,我的登录凭据不会发送到服务器。

所以,我想我的问题是:如何告诉Alamofire使用正确的编码/内容类型?

1 个答案:

答案 0 :(得分:0)

尝试使用此编码application/x-www-form-urlencoded代替application/json;charset=UTF-8