JSON或表格数据?将数据发送回服务器的首选方法是什么

时间:2014-05-24 21:12:16

标签: 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.post(url, json_data)
   .success(function(data, status, headers, config) {
    ...
}

在第一种方法中,我可以通过request.POST访问我的Django视图中的表单数据,在第二种方法中,我可以通过request.body访问JSON。他们似乎都工作,但什么被认为是最佳做法?

3 个答案:

答案 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表示法中的数据绑定对象文字,但不一定如此。