[英]How to send json data from Angularjs post to Django view?
I need to send json data using a POST request from Angularjs to my Django view. 我需要使用POST请求从Angularjs向我的Django视图发送json数据。
I need to get data from database using this json as json format. 我需要使用此json作为json格式从数据库获取数据。
I tried some examples using from net resources: 我尝试了一些使用网络资源的示例:
JS Code: JS代码:
$http({
method: 'POST',
url: '/mycard/list',
data: $.param({test: json})
});
Python Code(Django View): 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')
But it returns 403 error and sometimes it returns 500 error(INTERNAL SERVER ERROR) 但它返回403错误,有时返回500错误(内部服务器错误)
Service Code 服务编号
var promise = $http({
method: 'post',
url: '/mycard/list',
data:data,
contentType:'application/json; charset=UTF-8',
});
return promise;
Python rest api 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")
your json data should be formatted by JSON.stringify()
like this: 您的json数据应使用JSON.stringify()
进行格式化,如下所示:
$http({
method: 'POST',
url: '/mycard/list',
data: JSON.stringify({test: json})
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.