这是我第一次尝试使用Alamofire,因此,如果这是一个明显的疏忽,请原谅我!我已经阅读了很多其他答案,并进行了很多调整,但似乎没有任何效果。
我正在尝试做一个非常简单的测试,其中将参数从iOS应用程序传递到服务器,服务器会检查该参数是否等于“ Test”,如果是,则将一些json数据返回给iOS应用程序。 / p>
尽管debugPrint方法输出SUCCESS,但iOS应用程序打印的json数据始终为“未设置”,这意味着参数实际上并未传递给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!)
}
}
答案 0 :(得分:0)
将URLEncoding.default
更改为JSONEncoding.default
。
将编码设置为URLEncoding.default
将通过查询字符串传递参数。
(即http://mywebsite.com/xxx.php?name=test)。
还将$POST_
更改为$_POST