我發送一個POST AJAX請求使用Angularjs和它的$ http模塊到Django服務器。這裏是一個例子:發送數據從angularjs到django
$http({
method: 'POST',
url: '/url/',
data: 'test data'
}).
success(function(data, status, headers, config) {
doSomeStuffWhenSuccess();
});
問題是我在Django中得到的。無論我發送的數據是什麼,始終是QueryDict
的對象和值的關鍵總是一個空列表。
<QueryDict: {u'test data': [u'']}>
我沒有一個線索爲什麼。我錯過了什麼?
我幾乎使用默認創建的Django應用程序與默認中間件。我只創建了一個視圖並在url config中設置了一個url。 Django的版本是1.3。我配置了angular的$ http模塊,總是發送一個包含csrf標記的頭文件來滿足Django。
謝謝你的工作!但是,你能解釋爲什麼django認爲它的urlencoded數據?如果有可能定製它? – davekr
request.GET和request.POST包含預處理的鍵/值數據 - 如果您想要原始數據(例如JSON或純文本),請嘗試:request.raw_post_data –