0
因此,我使用一个应用程序的API来帮助我存储数据,以便将数据发送到用户输入/选择的API存储它,并取回ID以供稍后参考。 这是我使用的一些代码。使用Alamofire发送POST请求到API
JSON通过API接受
{
"topic":"test shedule",
"setdate":"21-09-2017",
"scheduledate":"22-09-2017",
"settime":"09:00:00",
"scheduletime":"10:00:00",
"agenda":"hi this is test agenda",
"adminname":"name",
"type":"meeting",
"users": "[{\"category\":\"optional\",\"email\":\"[email protected]\"}]",
"adminemail":"[email protected]"
}
数据Im使用Alamofire发送\
let parameters: Parameters = [
"topic":topicTextField.text!,
"setdate":currentDate as String,
"scheduledate":setDate as String,
"settime":currentTime as String,
"scheduletime":setTime as String,
"agenda":agendaTextField.text!,
"adminname":"abcname",
"type":"meeting",
"users" : "\(smembers)",
"adminemail":"[email protected]"
]
Alamofire.request("\(baseURL)meeting_shedule.php",method: .post, parameters: parameters).responseJSON { response in
if let dict = response.result.value as? Dictionary<String, AnyObject> {
let topic = dict["topic"] as? String
let g_id = dict["g_id"] as? String
self.storeMeeting(topic: topic!, g_id: g_id!)
}
}
smembers是从字典selectedMembers和字典selectedMembers创建的阵列来自不同的ViewController通过使用准备for segue
var selectedMembers = [String: String]()
var smembers = [Any]()
var selected = [String: String]()
if selectedMembers.isEmpty == false {
for (key, value) in selectedMembers {
selected = ["email":key, "category":value]
smembers.append(selected)
}
}
的问题
林背离API失败响应。 我认为问题是发送“用户”的API作为API要求的字符串形式的数据和Im发送数组我甚至试图通过序列化将smembers转换为jsonstring来解决这个问题,但仍然返回失败。当林发送通过邮局的人这样要求
我不知道如何解决这个问题,如何发送API将接受的数据。在如以下所示的
var selectedMembers = [String: String]()
var smembers = [String]()
var selected = ""
if selectedMembers.isEmpty == false {
for (key, value) in selectedMembers {
selected = String(format: "{\"\\email\\\":\"\\%@\"\\,\"\\category\"\\:\"\\%@\"\\}", arguments: [key,value])
smembers.append(selected)
}
}
在乌尔交数据
然后
感谢您的帮助
从不同VC来被一个字典存储像selectedMembers数据的数据= [电子邮件:类别]。这些数据如何进入您创建的课程中,我不明白这一点? –
显示我的代码如何传递信息到该API调用 –
哦,它只是一个简单的准备segue,在ViewControllers之间传递selectedMembers看看我在帖子中输入的最后一个代码 –