首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用原生javascript发送json

使用原生javascript发送json
EN

Stack Overflow用户
提问于 2013-07-22 22:41:43
回答 2查看 639关注 0票数 1

我想使用本地javascript发送一个json到php文件。为什么来自get-translation.php的$_POST是空的?

代码语言:javascript
复制
var xmlhttp;
json_data = JSON.stringify(a_data);

if (window.XMLHttpRequest)
{
     xmlhttp=new XMLHttpRequest();
}
else
{
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("POST","get-translation.php",true);
xmlhttp.setRequestHeader("Content-type","application/json");

xmlhttp.send(json_data); // json_data is simple json
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-22 23:12:09

$_POST仅适用于默认内容类型application/x-www-form-urlencoded。对于任何其他类型的数据--包括JSON --您需要解析原始输入流。

file_get_contents('php://input')将返回原始请求正文。由于这是JSON,因此需要使用json_decode将json数据解析为关联数组。

代码语言:javascript
复制
$jsonData = json_decode(file_get_contents('php://input'));
票数 0
EN

Stack Overflow用户

发布于 2013-07-22 22:44:24

您需要将JSON数据转换为字符串:

代码语言:javascript
复制
json_data = JSON.stringify(json_data);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17790447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档