我有一个我开发的小型 php 服务器。服务器等待提供将发送给他的 json 文件。
我创建了一个 html 页面,我正在使用 jquery 尝试将 json 文件发送到我的服务器。
我有一个按钮,当我按下它时:
$("button").click(function(){
var data = '{"deviceUUID":"25f998", "os":"bb", "pushToken":"l1355436gdfsfaddsl"}';
alert("User: " + userId + "\n" + "Data: " + data);
$.ajax({
type: "POST",
url: "http://192.148.2.123/Server_CityInfo/register.php",
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json"
});
});
但是到达服务器的 json 文件是空的。我知道服务器工作正常,因为我已经通过 java、obj-c、c# 向它发送了 post 请求......
这里可能是什么问题?警报上的数据变量打印:{"deviceUUID":"25f998", "os":"bb", "pushToken":"l1355436gdfsfaddsl"}
这是正确的 json 格式,我的服务器接受。
这是我的服务器端,PHP
// We use php://input to get the raw $_POST results.
$json = file_get_contents('php://input');
$json_post = json_decode($json, true);
//creating variables from received json
$deviceUDID = $json_post['deviceUUID'];
$os = $json_post['os'];
$pushToken = $json_post['pushToken'];
所以当我尝试打印时deviceUUID
,os
或者pushToken
它们是空的。在我的数据库中,它们是自动插入的,它们显示为NULL
. 这意味着发布请求到达,但为空……或格式错误……