Ajax JSON还是表单数据?什么';这是将数据发送回服务器的首选方式
我在摆弄Django和AngularJS,试图使用$http资源将数据发送回我的服务器。看起来我可以通过如下设置内容类型将数据作为表单发回:Ajax JSON还是表单数据?什么';这是将数据发送回服务器的首选方式,ajax,django,angularjs,Ajax,Django,Angularjs,我在摆弄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({
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。这两种方法似乎都有效,但最佳实践是什么 我不确定JSON数据的约定是什么。我确信的是,获取表单数据有一个约定。在没有令人信服的理由使用JSON的情况下,我倾向于认为最好还是坚持请求。POST我更喜欢使用接受对象文本进行配置的$http服务:
$http({method:'POST',url:'api/customers/add', data: customer})
.success(function(data) {
...
});
结果是promise对象,您可以立即调用它。成功。它更干净,更容易阅读
注意:customer通常是JSON表示法中的数据绑定对象文本,但不一定是 我会选择使用表单,它只是直观地说得通,而且它是我每次都使用的