未使用 application/json 获取 POST 数据

问题描述 投票:0回答:2

我正在使用 Backbone、PHP(5.6) 和 Apache(2.4)。

问题: 使用 Backbone 的 model.save() 发布数据时,服务器上的 $_POST 数组为空。

我知道解决这个问题的不同方法。

客户端方式:Backbone.emulateJSON设置为true或更改Backbone源。
服务器方式:读取原始正文而不是$_POST。

这些确实有效,但感觉就像黑客,事实上它们最终有点不方便。
此外,Backbone 的医生说:

如果您使用的旧版 Web 服务器无法处理编码为 application/json 的请求,请设置 Backbone.emulateJSON = true;将[修复它]。

所以这听起来像是服务器问题。如何使我的服务器成为非旧版服务器?

php ajax json backbone.js
2个回答
2
投票

感谢评论,我意识到这是正确的行为。

$_POST 用于表单数据,而 json 数据(application/json)应从原始输入中获取。


0
投票

为什么使用 urequests(在 micropython 中)发布数据并添加标头告诉 php 脚本这不是表单数据,而是类型为 {'Content-type':'application/json'} 仍然会导致发送空数据?

© www.soinside.com 2019 - 2024. All rights reserved.