这是我第一次尝试使用 Alamofire,所以如果这是一个明显的疏忽,请原谅我!我已经阅读了很多其他答案并进行了很多调整,但似乎没有任何效果。
我正在尝试做一个非常简单的测试,其中一个参数从 iOS 应用程序传递到服务器,服务器检查它是否等于“Test”,如果是,则将一些 json 数据返回到 iOS 应用程序。
尽管debugPrint方法输出SUCCESS,但iOS应用程序打印的json数据始终为“Not set”,这意味着参数实际上尚未传递到php文件。我想知道是否有人可以帮助我!
目前我不太关心解析 json,只是想找出丢失参数的原因!提前致谢。
这是我的 PHP:
<?php
$name = $_POST["name"];
if (isset($name))
{
if($name == "Test"){
echo json_encode("Correct");
}
else
{
echo json_encode("Incorrect");
}
}else{
echo json_encode("Not set");
}
?>
这是我的快速代码:
let url = "http://mywebsite.com/xxx.php"
let parameters: [String:String] = ["name":"Test"]
Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding.default).responseJSON{ response in
debugPrint(response)
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
else {
print(response.result.error!)
}
}
最佳答案
将 URLEncoding.default
更改为 JSONEncoding.default
。
将编码设置为 URLEncoding.default
将通过查询字符串传递参数。
(即 http://mywebsite.com/xxx.php?name=test )。
同时将 $POST_
更改为 $_POST
关于ios - Alamofire:参数未传递到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52571624/