有人可以帮助我解决以下问题吗?
我无法检索 ID 的值。
" ID "在我从iOS网络调用中发布时,一直是空的。
Swift 3用于网络呼叫:
var request = URLRequest(url: URL(string: "URL HERE")!)
request.httpMethod = "POST"
let postString = "id=2"
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { // check for fundamental networking error
print("error=(error)")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is (httpStatus.statusCode)")
print("response = (response)")
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = (responseString)")
}
task.resume()
api.php php代码从服务器端检索值。
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(isset($_POST["id"]) == 0) {
$id = isset($_POST["id"]);
}
}
问题在PHP代码中。在第3行,如果isset
为FALSE
,请将$id
值设置为ID参数。您希望它是isset
是TRUE
。
将0更改为1。它只是一个小错字。
看来您可能已经遇到了isset
有点错了。isset
返回BOOL,无论变量是否具有值。因此,$id = isset($_POST["id"]);
告诉您是否给出了ID,而不是值。如果您想要值drop isset
。
我能够使用以下代码检索值。
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(isset($_POST["id"]) == 0) {
$arr = array_values($_POST);
//print_r($arr);
echo "Value is: ".$arr['0'];
}
}