无法通过alamofire向webservice发送参数
我想通过Alamofire将参数发送到webservice。 我检查了webservice并且它正常工作但它不接受参数只是得到else部分的响应。
这是我在swift iOS中使用的Alamofire代码。
let parameters: Parameters = [ "signers": "ram,Rahim", "message": "hello,World", "path": "www.webservice.com", "sequence":"1,2" ] Alamofire.request("http://www.webservice.pixcel.com/esp.php", parameters: parameters).responseJSON(completionHandler: { (response) in print(response) print(response.result) })
这是Webservice的代码 – esp.php
<?php //Turn off all error reporting error_reporting(0); if( $_SERVER['REQUEST_METHOD']=='POST' && $_POST['signers'] && $_POST['message'] && $_POST['path'] && $_POST['sequence']){ $path_s = $_POST['path']; $path_array = explode(',', $path_s); $signer_s = $_POST['signers']; $signer_array = explode(',', $signer_s); $message_s =$_POST['message']; $message_array = explode(',', $message_s); $sequence_s =$_POST['sequence']; $sequence_array = explode(',', $sequence_s); for ($i = 0; $i
问题
如果您没有指定HTTPMethod
请基于Alamofire文档 :
Alamofire.request方法参数默认为
.get
。
因此判断,我认为发送的请求是.get
,因此它没有附加参数。
解
将您的代码更改为:
Alamofire.request("http://www.webservice.pixcel.com/esp.php", method: .post, parameters: parameters).responseJSON(completionHandler: { (response) in print(response) print(response.result) })