在services.js
我:的Django + AngularJS + AJAX POST =奇怪的QueryDict
return $resource('/item', {name: 'myname'}, {
make_POST: {
method: 'POST',
},
make_GET: {
method: 'GET',
}
});
在views.py
:
@ajax_request
def v_item(request):
if request.method == 'POST':
return {'success': request.POST['name']}
return {'success': request.GET['name']}
當我做make_GET
,一切都很好。但當我做make_POST
我得到這個:
"Key 'name' not found in <QueryDict: {u'{}': [u'']}>"
我該怎麼做錯了?
UPDATE: 想通了,那POST作品,如果我送PARAMS當我打電話make_POST
:
Item.make_POST({name: 'myname'}, function(response) {
$scope.success_POST = response.success;
});
而且在views.py
做這樣的把戲:
return {'success': json.loads(request.raw_post_data)['name']}
但是爲什麼$resource
的params沒有發送?
什麼是@ajax_request裝飾? – Aldarund
它檢查request.is_ajax()並將dict返回給json。它來自'django-annoying' lib – imkost
當我用jQuery做同樣的事情時,POST工作,不認爲這個問題是在裝飾器 – imkost