2014-05-24 24 views
0

我搞砸了Django和AngularJS,尝试使用$ http资源将数据发回我的服务器。它看起来像我既可以由发布数据传回的形式通过设置内容类型如下做到这一点: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。他们都似乎工作,但什么被认为是最佳做法?

回答

0

我更喜欢使用接受一个对象字面配置$ http服务:

$http({method:'POST',url:'api/customers/add', data: customer}) 
     .success(function(data) { 
      ... 
     }); 

结果是promise对象,您可以立即调用.success。它更清洁,更容易阅读海事组织。

注意:客户通常是JSON表示法中的数据绑定对象字面值,但并非必须如此。

1

我不知道的JSON数据的惯例是什么。我所知道的是,有一个获取表单数据的约定。在没有一个令人信服的理由来使用JSON,我会倾向于认为这是更好地坚持与request.POST

1

我会使用一种形式,它只是有意义的直观,这是我每次使用。

相关问题