gpt4 book ai didi

php - Swift 2.0 - 将 JSON 值从 swift 存储到 php 变量并使用 php echo 显示

转载 作者:行者123 更新时间:2023-11-28 06:52:02 27 4
gpt4 key购买 nike

我试图将 swift 发布的设备 token 存储到一个 php 变量以供将来引用(比如检查 token 是否已存在于数据库中)。

这是我的 Swift 代码:

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {

let sampleToken = deviceToken.hexString()
let session = NSURLSession.sharedSession()
let postBody = NSString(format: "token=\(sampleToken)")
let endBody = NSURL(string: "http://www.samplesite.com/sub1/sub2/testing.php")
let request = NSMutableURLRequest(URL: endBody!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData, timeoutInterval: 30.0)
request.HTTPMethod = "POST";
request.HTTPBody = postBody.dataUsingEncoding(NSUTF8StringEncoding)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
let dataTask = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
if data != nil {
print("data: \(response)")
} else {
print("failed: \(error!.localizedDescription)")
}
}
dataTask.resume()
}

这是我用于 token 存储的 php 文件:

<?php

$token = $_REQUEST['token'];

var_dump(json_decode($token)); //returns null
var_dump(json_decode($token, true)); //returns null

include_once("includes/dbi_connect.php");

$sql1 = "INSERT INTO tbs_main . userTokenInfo (token) VALUES ('".$token."')";
$result = mysqli_query($conn, $sql1);
?>

令我困惑的是, token 仍然记录在数据库中,但无法显示。我在这里遗漏了一些东西,我真的不知道在哪里和什么。设备 token 的传递和转换有问题吗?还是在 php 端?

更新

我尝试按照 Ammo 的建议使用 var_dump('$token');,但它只返回了一个 null

最佳答案

您根本不是从 swift 发送 JSON,它是一个纯 HTTP 请求。

试试 var_dump($token);在 php 中而不是 json_decode($token)。

这就是为什么你可以在 db 中看到 token ,但你只是试图错误地显示它。

如果你愿意,你可以使用像 Alamofire 这样的库从 swift 发送一个 json。

关于php - Swift 2.0 - 将 JSON 值从 swift 存储到 php 变量并使用 php echo 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34613746/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com