gpt4 book ai didi

php - 无法通过alamofire将参数发送到webservice

转载 作者:行者123 更新时间:2023-11-28 12:37:57 24 4
gpt4 key购买 nike

我想通过 Alamofire 将参数发送到 web 服务。我检查了 web 服务,它工作正常,但它不接受参数,只是得到其他部分的响应。

这是我在 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 < count($signer_array); $i++) {


$signer = ($signer_array[$i]);
$path = ($path_array[0]);
$message = ($message_array[0]);
$sequence =($sequence_array[$i]);


$con = mysql_connect('pixcel.pixcelinfo.com','user_pixcel','abc123') or die('Cannot connect to the DB');
mysql_select_db('easy_sign',$con);


$query = mysql_query("INSERT INTO `path` (url,name,signer,sequence,message,flag)
VALUES ('".$path."','".$name."','".$signer."','".$sequence."','".$message."','false')");
}
if($query){
// echo "Data inserted";
$return['url'] = 'true';
$return['data'] = "Data inserted";

header('Content-type: application/json');
exit( json_encode( $return ) );
}


} else {
$return['status']='false';
$return['message']='Data not inserted!';
$return['line']=__LINE__;

header('Content-type: application/json');
exit( json_encode( $return ) );
}

?>

最佳答案

问题

基于Alamofire docs如果您不指定 HTTPMethod:

The Alamofire.request method parameter defaults to .get.

据此判断,我认为发送到那里的请求是 .get,因此它没有附加参数。

解决方案

将您的代码更改为:

Alamofire.request("http://www.webservice.pixcel.com/esp.php", method: .post, parameters: parameters).responseJSON(completionHandler: { (response) in
print(response)
print(response.result)
})

关于php - 无法通过alamofire将参数发送到webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40302276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com