Ios 请求后Swift 3.0 Alamofire

Ios 请求后Swift 3.0 Alamofire,ios,swift,alamofire,Ios,Swift,Alamofire,我正在尝试在Swift 3中与Alamofire进行.POST请求。我编写了以下函数 func postToken(Token: String) { let parameters : [String:Any] = ["api_key":"ivaomobileapp", "function":"login", "IVAOTOKEN=":"\(Token)"] Alamofire.request("URL", method: .post, parameters: parameters

我正在尝试在Swift 3中与Alamofire进行.POST请求。我编写了以下函数

func postToken(Token: String) {
    let parameters : [String:Any] = ["api_key":"ivaomobileapp", "function":"login", "IVAOTOKEN=":"\(Token)"]
    Alamofire.request("URL", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in

        switch(response.result) {
        case .success(_):
            if let data = response.result.value{
                print(data)
            }
            break

        case .failure(_):
            print(response.result.error as Any)
            break

        }
    }
}
这与CURL(UNIX)中的请求相同

我做错了什么


感谢

来自服务器的响应无效。请尝试使用
responseString
responseData
Response
来找出问题所在。

我认为您以错误的方式处理添加
IVAOTOKEN
参数的操作,导致问题,可能创建了一个格式错误的词典。也许您的参数应该如下所示:

let parameters : [String:Any] = [
      "api_key": "ivaomobileapp", 
      "function": "login", 
      "IVAOTOKEN": Token
]
Alamofire将在
标记
变量周围添加引号,因为它是一个字符串。结果应该是将以下内容发送到服务器:

{
    "api_key": "ivaomobileapp", 
    "function": "login", 
    "IVAOTOKEN": "TOKENVALUE"
}

服务器端的响应是不规则的,您的代码是正确的。答案是无效的JSON对象。@Anbu.Karthik我让它现在返回JSON,仍然是相同的问题。请验证您的JSON一次,@Anbu.Karthik这是我现在返回的:{“msg”:“用户登录成功输入”。}我不明白您的意思。我尝试更改为responseData,同样的问题。我的意思是服务器端数据无效JSON我能做些什么来解决它?我在发送api_key参数时遇到问题,在CURL请求中,它如下所示“api_key=ivaomobileapp”。我应该把=放在阿拉莫菲尔的某个地方吗。抱歉,我从未使用Alamofire完成POST请求:(好吧,你真的用值
ivaomobileapp
作为
api\u key
参数吗?我认为一个键看起来确实有些不同。可能像某种随机散列。不管怎样,
=
符号都不应该是参数键的一部分。Alamofire将把你的参数转换成有效的JSON,因此h将在键和值之间添加
=
符号。我认为你应该100%确保你可以使用这个值作为API键,因为这是非常不寻常的。通常它是一个随机散列或类似的。特别是如果你将它与Facebook、Twitter、Flickr等的API键进行比较……是的,完全肯定,CURL使用该值。我的中国合作伙伴制作API可能是中文和英文之间的误译。好吧,与您的curl请求不同的另一件事是,在您的curl请求中,您实际上不发送JSON,而是使用表单请求。因此,您可能希望更改不同类型的请求。或者,如果您的服务器支持,将您的curl请求转换为JSON请求这个。
let parameters : [String:Any] = [
      "api_key": "ivaomobileapp", 
      "function": "login", 
      "IVAOTOKEN": Token
]
{
    "api_key": "ivaomobileapp", 
    "function": "login", 
    "IVAOTOKEN": "TOKENVALUE"
}