gpt4 book ai didi

php - 为什么我的请求 POST swift 到 php,内容总是 PHP 的关键

转载 作者:行者123 更新时间:2023-11-28 13:29:57 27 4
gpt4 key购买 nike

这是我第一次,尝试 swift 来 rest API PHP,我尝试请求 POST 到 PHP,但我请求的键和值始终是 php 中的键

我试过 swift 5, php 7

这是我 swift 中的代码:

func getTimeline(completion: @escaping (Result<MainResponse<String>, Error>) -> Void) {
var param: [String: Any] = [:]
param["device_id"] = UIDevice.current.identifierForVendor?.uuidString
param["X_SIGNATURE_API"] = "X-secure"
param["name"] = "Rangga Leo"

let url = URLConst.server
HTTPRequest.shared.connect(url: url, params: param, model: String.self) { (result) in
completion(result)
}
}

如果你想尝试,这是我的 URL ngrok:https://d9422a31.ngrok.io无论如何,我必须创建自己的类以使 dataTask 更具可重用性,而这在我的 PHP 中是简单的响应:

    header("Content-Type: application/json");

$data = [
"POST" => $_POST,
"device_id" => $_POST["device_id"]
];

echo json_encode($data);

我希望结果显示我的 device_id,但如果 php 给出空值,事件我调试 $_POST,device_id 可用但要成为数组 PHP 中的键

顺便说一句,这是我控制台的结果

{
"POST":{"{\"X_SIGNATURE_API\":\"X-secure\",
\"name\":\"Rangga_Leo\",
\"device_id\":\"C3E259A9-FBEB-4D65-9B6A-EC4F8BE89D95\"}":""},
"device_id":null
}

最佳答案

你可以试试下面的代码来获取json payload

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

或者把这行放在create data structure行的上面

$_POST = json_decode(file_get_contents('php://input'), true);

关于php - 为什么我的请求 POST swift 到 php,内容总是 PHP 的关键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57542327/

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