有人可以帮我解决以下问题吗?
我无法检索 id 的值。
当我通过 iOS 网络调用发帖时,“id”始终为空。
用于网络调用的 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,而不是值。如果您想要值下降isset
。
关于php - 使用 php Api 端点进行 Swift 网络调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41284830/