我正在使用 Backbone、PHP(5.6) 和 Apache(2.4)。
问题: 使用 Backbone 的 model.save() 发布数据时,服务器上的 $_POST 数组为空。
我知道解决这个问题的不同方法。
客户端方式:将Backbone.emulateJSON设置为true或更改Backbone源。
服务器方式:读取原始正文而不是$_POST。
这些确实有效,但感觉就像黑客,事实上它们最终有点不方便。
此外,Backbone 的医生说:
如果您使用的旧版 Web 服务器无法处理编码为 application/json 的请求,请设置 Backbone.emulateJSON = true;将[修复它]。
所以这听起来像是服务器问题。如何使我的服务器成为非旧版服务器?
感谢评论,我意识到这是正确的行为。
$_POST 用于表单数据,而 json 数据(application/json)应从原始输入中获取。
为什么使用 urequests(在 micropython 中)发布数据并添加标头告诉 php 脚本这不是表单数据,而是类型为 {'Content-type':'application/json'} 仍然会导致发送空数据?