[英]How to send json data from Angularjs post to Django view?
我需要使用POST請求從Angularjs向我的Django視圖發送json數據。
我需要使用此json作為json格式從數據庫獲取數據。
我嘗試了一些使用網絡資源的示例:
JS代碼:
$http({
method: 'POST',
url: '/mycard/list',
data: $.param({test: json})
});
Python代碼(Django視圖):
def product_list(request):
if len(request.META['QUERY_STRING']) > 0:
data = request.body
data = json.loads(data)
print data
else:
f = open('./mytest.txt','r')
data = f.read()
return HttpResponse(data, mimetype='application/json')
但它返回403錯誤,有時返回500錯誤(內部服務器錯誤)
服務編號
var promise = $http({
method: 'post',
url: '/mycard/list',
data:data,
contentType:'application/json; charset=UTF-8',
});
return promise;
Python Rest API
@csrf_exempt
@api_view(['GET','POST'])
def product_list(request):
if request.method == 'POST':
try:
stream = StringIO(request.body)
data = JSONParser().parse(stream)
except ValueError:
return Response(json.dumps(ValueError, default=json_util.default))
return Response(json.dumps(data, default=json_util.default))
else:
return Response("failure")
您的json數據應使用JSON.stringify()
進行格式化,如下所示:
$http({
method: 'POST',
url: '/mycard/list',
data: JSON.stringify({test: json})
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.