在php服务器上,我从$_POST捕获所有已发送的变量,例如
var_dump($_POST);如果我使用html-form来发送到服务器,这将会工作得很好。
我尝试使用nodejs和requestify发送到服务器:
requestify.post('http://localhost/rest/1/comment/create', {hello: 'world'})
.then(function(response) {
console.log(response.getBody());
})这不会被php-server捕获,var_dump($_POST)会输出一个空数组。
发布于 2016-02-02 20:29:58
当您提交一个HTML表单时,数据将使用application/x-www-form-urlencoded格式进行编码(除非您告诉它使用text/plain或multipart/form-data)。
PHP会自动将application/x-www-form-urlencoded和multipart/form-data解析成$_POST。
Restify会将数据编码为application/json,默认情况下PHP不会对其进行解析。This question详细介绍了如何读取JSON格式的POST请求。
发布于 2016-02-02 21:26:09
您可以使用PHP从json_decode(file_get_contents("php://input"), true);读取json请求。php://input是提供原始请求的PHP的STDIN。详细信息也可以在docs中找到。
https://stackoverflow.com/questions/35153495
复制相似问题