我对Swift
完全不熟悉。我需要点击带有NSDictionary
参数&的Post Method webservice。得到JSON响应。我尝试使用Alamofire
&还NSMutableUrlRequest
。似乎没什么可以锻炼的。我得到'JSON文本没有从数组或对象开始,并且选项允许片段未设置'错误或来自服务器的'未定义变量'响应。当我尝试使用Objective-C
时,相同的服务正常工作。正如我之前所说,我对Swift
&需要你的帮助。
我的基本网址:http://myofficeit.in/bizfeed/webservices/client.php
参数我想通过:
参数=
{
UserName = xyz;
deviceModel = iPhone;
deviceToken = "949264bc cd9c6c851ee64cc74db9078770dd7d971618ec20ce91d2e6eb9f155e";
emailid = "xyz@gmail.com";
location = Asia;
userMobileNo = 1234567890;
};
functionName = register;
我用于点击服务的代码是:http://pastebin.com/aaT4uhS7
由于
答案 0 :(得分:1)
你可以使用
let param: [String:AnyObject] = [
"UserName": iPhone,
"deviceToken": "949264bc cd9c6c851ee64cc74db9078770dd7d971618ec20ce91d2e6eb9f155e",
"emailid": "xyz@gmail.com",
"location": Asia,
"userMobileNo": 1234567890
]
Alamofire.request(.POST, "http://myofficeit.in/bizfeed/webservices/client.php/register", parameters: param).responseJSON { (req, res, json, error) in
print(req)
print(res)
print(json)
print(error)
}
中的示例请求
答案 1 :(得分:0)
就你的问题而言,广泛将是我的答案:
要做的第一件事是要清楚地了解Web服务API,这也需要HTTP协议的基本知识。所以,您需要了解的是,服务器在HTTP术语中的期望。
您最终会发现,服务器将如何期待其"参数"。请注意,没有类似"参数"在HTTP协议中。因此,您需要将它们映射到HTTP协议提供的内容。
最有可能的是,在POST请求中,"参数"作为HTTP消息的正文传输,作为application/x-www-form-urlencoded
,multipart/form-data
或application/json
的内容类型。
根据服务器的需求,以及您对HTTP和NSURLSession
,NSURLComponents
等的基本知识,您可以撰写请求的网址和正文,设置Content-Type
标题和可能的其他标题,你准备好了。
@AnbyKarthik的答案给出了最终的结果,该答案使用了Alamofire,以及一个组成POST请求的命令,其参数在内容类型为x-www-form-urlencoded
的正文中发送。