php - 从 Swift 读取 PHP 中的 JSON

标签 php swift

我的 php 文件读取 JSON 数据时遇到问题。我使用 swift 将数据发送到服务器。我对请求进行编码,当我将其作为字符串发送时,一切正常。我在 PHP 中运行良好的字符串看起来像这样

id=e61db0&time=Feb 13, 2015 所以 PHP 接收时效果很好

但是,当我使用字典并对 NSData 进行编码时,我的 PHP 文件无法读取它。我对发送的数据进行了解码,看起来像这样:

{"id":"e61db0", "time":"Feb 13, 2015"} 这在 php 接收时不起作用

对于我的请求设置 header ,我这样做:

var imageData = UIImageJPEGRepresentation(ui_image, 0.5)
let base64encoded = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.allZeros)
var params = ["id": uid, "time": date, "comment": img_com_e, "image": base64encoded]
var request:NSMutableURLRequest = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"    
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("application/json", forHTTPHeaderField: "Accept")
var error: NSError?
        request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: .allZeros, error: &error)
        if let error = error {
            println("\(error.localizedDescription)")
        }
        let dataTask = session.dataTaskWithRequest(request) { data, response, error -> Void in
            let res = response as NSHTTPURLResponse!;
            NSLog("Response code: %ld", res.statusCode);

        if (res.statusCode >= 200 && res.statusCode < 300)
        {
            var responseData:NSString  = NSString(data: data, encoding:NSUTF8StringEncoding)!
            return_val = responseData
            NSLog("Response ==> %@", responseData);
        } else {
            return_val = "bad"
            //println(return_val)
        }

    }

    dataTask.resume()

不知道发生了什么。我的服务器 PHP 文件是否无法识别它是 JSON 数据并且无法接受 $_POST['id'].我应该以不同的方式设置我的标题吗?

最佳答案

你的php代码在哪里?

如果您发送Content-Type:application/json

您应该阅读php://input而不是$_POST

尝试:

$data = json_decode(file_get_contents('php://input'), true);
print_r($data);
echo $data["id"];

关于php - 从 Swift 读取 PHP 中的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28505430/

相关文章:

ios - 我们可以将自定义 header 添加到 Alamofire 文件下载 : IOS/SWIFT

xcode - Swift Markdown 中的相关链接

php - 如何为简单的多语言网站(PHP MySQL)构建数据库?

php - 在超链接中使用 onclick 打开具有 id 的 div

swift - MacOS:减少 VNFaceObservation 的 CPU 使用率

协议(protocol)的 Swift 3 泛型/关联类型限制

ios - 使用observeSingleEvent/snapshot,如何编写一行代码来检查用户是否在过去24小时内向数据库添加了子条目?

php - 如何检索和显示论坛上的帖子?

php - 如何在 CodeIgniter 中访问静态资源?

php - 服务器端 session 安全吗?