在PHP中解码backbone.JSON包
因此,我一直无法解码从backbone.js应用程序发送到服务器的有效JSON请求。无论我尝试了什么,解码的$\u POST数据都返回null。我翻遍stackoverflow,发现:在PHP中解码backbone.JSON包,php,jquery,json,backbone.js,Php,Jquery,Json,Backbone.js,因此,我一直无法解码从backbone.js应用程序发送到服务器的有效JSON请求。无论我尝试了什么,解码的$\u POST数据都返回null。我翻遍stackoverflow,发现: 这似乎是一种黑客行为,所以我想知道是否有更好的方法在PHP中处理来自主干网的JSON数据。在PHP中接收和解码从backbone.js应用程序发送的JSON数据的正确方法是什么?您应该检查用于向脚本发送数据的请求方法,如下所示: switch ($_SERVER['REQUEST_METHOD']) {
这似乎是一种黑客行为,所以我想知道是否有更好的方法在PHP中处理来自主干网的JSON数据。在PHP中接收和解码从backbone.js应用程序发送的JSON数据的正确方法是什么?您应该检查用于向脚本发送数据的请求方法,如下所示:
switch ($_SERVER['REQUEST_METHOD'])
{
case 'POST':
{
// do something
}
break;
case 'GET':
{
// do something else
}
break;
case 'PUT':
{
// your snippet goes here
}
break;
case 'DELETE':
{
// do something when request method == DELETE
}
break;
}
您发布的代码是在放置或删除请求_方法时应该使用的代码。这根本不是黑客
您还可以配置主干网通过POST发送数据,方法如下:
Backbone.emulateHTTP = true;
从主干网手册:
如果要使用不支持的旧web服务器
主干网的默认REST/HTTP方法,您可以选择启用
Backbone.ehttp。设置此选项将伪造PUT和DELETE
使用HTTP POST请求,设置X-HTTP-Method-Override头
用真实的方法。如果emulateJSON也处于启用状态,则true方法将
作为附加的_方法参数传递
我也在使用这个解决方案,我不认为有更好的方法…我的api是RESTful的,我更关心的是无法以正常的方式访问get/post/put。简单的答案是:不阅读就无法访问put和DELETEphp://inputMore PHP手册中的信息:
Backbone.emulateHTTP = true;