我正在搞乱Django和AngularJS,尝试使用$ http资源将数据发送回我的服务器。看起来我可以通过设置内容类型将数据作为表单发回,如下所示:
$http({
url: url,
data: form_encoded_data,
method: 'POST',
headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
});
或者在请求正文中回复JSON,如下所示:
$http.post(url, json_data)
.success(function(data, status, headers, config) {
...
}
在第一种方法中,我可以通过request.POST访问我的Django视图中的表单数据,在第二种方法中,我可以通过request.body访问JSON。他们似乎都工作,但什么被认为是最佳做法?
答案 0 :(得分:1)
我不确定JSON数据的约定是什么。我我确定的是,有一个获取表单数据的约定。在没有令人信服的理由使用JSON的情况下,我倾向于认为坚持使用请求更好.POST
答案 1 :(得分:1)
我会选择使用表格,它只是直觉上有意义,而且每次都是我用过的。
答案 2 :(得分:0)
我更喜欢使用接受对象文字进行配置的$ http服务:
$http({method:'POST',url:'api/customers/add', data: customer})
.success(function(data) {
...
});
结果是promise对象,您可以立即调用.success。它更清洁,更容易阅读IMO。
注意:客户通常是JSON表示法中的数据绑定对象文字,但不一定如此。