php - 使用 php Api 端点进行 Swift 网络调用

标签 php ios swift

有人可以帮我解决以下问题吗?

我无法检索 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 行,如果 issetFALSE,则将 $id 值设置为 id 参数。如果 issetTRUE,您希望它是这样。

将 0 更改为 1。这只是一个小拼写错误。

看起来您的 isset 可能有点错误。 isset 返回一个 bool 值,无论变量是否有值。因此 $id = isset($_POST["id"]); 告诉您是否给出了 ID,而不是值。如果您想要值下降isset

关于php - 使用 php Api 端点进行 Swift 网络调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41284830/

相关文章:

php - 我应该在 MySQL 中使用 set-type 来获取用户的国家/地区信息吗?

swift - 使用泛型创建结构数组

swift - 如何快速验证API?

ios - 如何在 Cloudkit 上创建此数据/模型以将其显示在我的应用程序中?

php - 我如何在多个表中进行搜索?

php - 将 SQL 语句插入 PHP 变量

ios - Kingfisher 检查 404 状态

ios - 如何在 icarousel ios 中找到特定的索引?

ios - 如何检测表情符号和更改字体大小

php - MySQL - 按时间间隔选择时间范围内的值