2014-05-24 36 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

我會使用一種形式,它只是有意義的直觀,這是我每次使用。

相關問題