我想将JSON数据(在本例中是客户端时间戳)发送到我的服务器。 但是,我的代码似乎无法正常工作。 p>
我的想法是使用fetch将PHP发送FormData(其中包含一个输入有JSON值)。 在服务器端,PHP将使用 我正在使用免费的主机服务,它具有 PHP 7.0,用于测试内容。 p>
下面的所有代码都在同一个文件中(404.php): p>
如您所见,var_dump的输出是一个空数组。 但我期望看到的是带有JSON字符串的输出。 p>
我尝试了另一种方法,就是这个 fetch-api-json-php ,但它也没用。 我在互联网上找到的所有资源通常都是关于经典的AJAX,而不是fetch API。 其中大多数只是客户端,我找不到很多PHP /服务器端。 p>
div> $ _ POST code>处理表单并将JSON字符串返回给我。 p>
var now = new Date();
var pkg = JSON.stringify({
ts:now.getTime(),
tz:now.getTimezoneOffset()/ -60
})
var form = new FormData();
form.set('json',pkg);
console.log(form.has('json'))// true
console.log(form.values()。next()) // return和obj包含JSON字符串
fetch('/ 404.php',{
方法:'POST',
body:form
});
code> pre> \ n
$ json = null;
if(isset($ _ POST ['json']))$ json = json_decode($ _ POST ['json'] );
var_dump($ _ POST); //结果:array(0){}
code> pre>