带有嵌套参数的Alamofire POST请求不返回任何内容

问题描述 投票:0回答:1

您好我正在尝试使用Alamofire来处理我的HTTP请求。它使用的参数不包含任何嵌套参数。通常,我的网址正在使用Google Chrome上的关注。

http://111.222.33.4:12345/my_server/dispatch?cmd=ext_getReferanceData&jp=%7b%22rfName%22:%22RF_ABC%22%7d&token=123和上面url的解码版本是

http://111.222.33.4:12345/my_server/dispatch?cmd=ext_getReferanceData&jp= { “rfName”: “RF_ABC”}&标记= 123

当我将它粘贴到任何浏览器时,它工作正常。但是,当我尝试向Alamofire发送以下帖子请求时

    let parameters3: [String: Any] = [
        "cmd": "ext_getReferanceData",
        "jp": [
            "rfName": "RF_ABC"
        ],
        "token": "123"
    ]

    Alamofire.request("http://111.222.33.4:12345/my_server/dispatch", method: .get, parameters: parameters3, encoding: JSONEncoding.default).responseJSON { (response) in
    }

它正在回归

FAILURE:responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength)

可能是因为我发送参数错误或是否有任何我遗漏的原因?

编辑:我还检查了有关错误的其他问题,但问题是关于我试图发送的参数,因为有“和{在参数但我无法发送请求。

ios swift alamofire nsurlrequest
1个回答
0
投票

您是否考虑过打印正在发送的响应并确认它确实是您要发送的内容?

你可以做一些改进的事情

  1. 制作方法.post
  2. 尝试使用.validate()来增加可靠性

我这样做的方式如下:

let submissionURL = URL(string: "https://blablabla.com/script.php")
 sendAlamofireRequest(submissionURL: submissionURL!, parameters: parameters, chosenTrackerStr: chosenTrackerString) //function call

 //function declaration
func sendAlamofireRequest(submissionURL: URL, parameters: Parameters, chosenTrackerStr: String){

    Alamofire.request(submissionURL, method: .post, parameters: parameters, encoding: JSONEncoding.default).validate().responseString() { (response) in
         //actual code goes here
    }
 }

也许尝试使用alamofire请求并查看其文档以查看建议的方法:)

© www.soinside.com 2019 - 2024. All rights reserved.