我正在尝试发出POST请求。 这是我的代码:
var myModel = new MydModel({
content: "ciao"
});
console.log(myModel.get("content")); // "ciao"
myModel.save();
如果我查看网络活动,它看起来像这样:
回复部分{id:0, content:"", ……}
标题部分:Request Payload {"content":"ciao"}
这是我的模特:
define([], function () {
var MyModel = Backbone.Model.extend({
url: function url ()
{
return "http://localhost/users";
}
});
return MyModel;
});
这是我的问题还是在服务器部分?
答案 0 :(得分:2)
发送/接收与请求/响应
简而言之
{id:0, content:"", ……}
(响应)错误,那就是您的服务器{"content":"asdasdsa"}
(请求)错误,那就是您的客户答案 1 :(得分:0)
接收JSON-payload时没有什么问题" Backbone-client"发送到您的Apache服务器。
您需要做的就是从服务器端的输入手动解析JSON-payload(" php://输入",对于PHP),如下所示:
if($_SERVER['REQUEST_METHOD'] == 'PUT' || $_SERVER['REQUEST_METHOD'] == 'POST') {
$postStr = file_get_contents("php://input");
//json_decode throws error or returns null if input is invalid json
try {
$json = json_decode($postStr, true);
if(empty($json)) {
throw new Exception("Not valid json");
}
//must not be json, try query str instead
} catch(Errfor $e) {
$postVars = parse_str($postStr);
foreach($postVars as $key=>$data) {
$_POST[$key] = $data;
}
}
}
您可以在此处找到完整说明: http://colinbookman.com/2014/04/08/php-puts-posts-and-backbone-js/