[swift]Alamofire 4.3 无法发送 JSON 请求

发布时间: 2017/3/1 0:14:04
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

Iam 试图发送 JSON 请求使用 Alamofire,但它不工作作为 JSON 请求在这里的我 JSON:

{"ClientID":"55050","AdminId":"myemail","Password":"123"}

content-type →  application/json; charset=utf-8

和这里是我的代码︰

import Alamofire

func doLogin(username:String ,password:String) {
    let parameters = ["ClientID":"55050" , "AdminId":username,"Password":password]

    Alamofire.request("myurl.com", method: .post, parameters: parameters, encoding: JSONEncoding(options: []) ).responseJSON(completionHandler: {
        response in
        print(response)
    })

这里是我得到的回应

FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 3." UserInfo={NSDebugDescription=Invalid value around character 3.}))

解决方法 1:

通过阅读文档,我只需要把要设置作为应用程序/json 请求标头

所以我添加了额外的参数标头︰

let headers: HTTPHeaders = [
            "Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
            "Accept": "application/json"
        ]
 Alamofire.request(ApiKeys().login, method : .post , parameters : parameters, encoding: JSONEncoding.default ,  headers: headers).responseJSON { response in

        }

现在它的工作完美地感谢每个人都试图帮助:)

赞助商