Swift 3:Alamofire POST 请求参数问题

Posted

技术标签:

【中文标题】Swift 3:Alamofire POST 请求参数问题【英文标题】:Swift 3 : Alamofire POST request parameters issue 【发布时间】:2017-06-14 20:10:02 【问题描述】:

我正在使用 Alamofire 来使用 POST 请求。但我无法填写parameters 中的OrderDetails 项目,您可以看到下面的代码。我发布了除OrderDetails 项目之外的所有内容。你能看出什么问题吗?

我把这段代码放在for in循环中。

 let parameters: Parameters = ["UserId": 1,
                                              "CompanyId":id,
                                              "TableNumber":tableNumber ,
                                              "Description":all.details!,
                                              "OrderDetails": [
                                                "MenuItemId":Int(all.menuID!)!,
                                                "Piece":all.count!,
                                                "Description":all.customerDetails!
                    ]
                ]

【问题讨论】:

查看我之前对该主题的回答***.com/questions/44484772/…希望对您有所帮助 我发现强制展开存在很大问题。 【参考方案1】:

你可以在你的swift上试试这个,

let parameters: [String:Any] = ["UserId": 1,
                                  "CompanyId":1,
                                  "TableNumber":2 ,
                                  "Description":3,
                                  "OrderDetails": "'MenuItemId':4,'Piece':5,'Description':2"
]

并像这样处理发布数据;

$OrderDetails = json_decode($_POST['OrderDetails'],true);

现在您可以从 $OrderDetails 获取您的值

【讨论】:

它没有用。我仍然在 OrderDetails 中得到空值 你的空值在服务器端? 对不起,但它也不起作用。我把这段代码放在“for in”循环中。我得到了除订单详细信息之外的所有内容。我不明白。 如何处理服务器端的post数据?请编辑您的问题并清楚地询问。任何人都不会帮助你解决这个问题。对不起

以上是关于Swift 3:Alamofire POST 请求参数问题的主要内容,如果未能解决你的问题,请参考以下文章

带有 Swift 3 的 Alamofire 4.3,POST 请求不适用于 URL 参数

使用 Alamofire 3.0+ 在 swift 2.2 中使用 JSON 对象发送 POST 请求

如何在 Swift 3 中使用 Alamofire 在 POST 请求中将给定的 JSON 作为参数发送?

图片不会在我的 Alamofire .post 请求中发送到我的后端 - Swift 3

Swift 3 Alamofire 请求进度

使用 alamofire 2.0 和 Swift 2.0 的 POST 请求