【发布时间】:2018-02-09 09:03:03
【问题描述】:
我想通过 Http 请求将数据从 AngularJS 发送到后端(Django)。
我尝试了很多方法,但在 django 中接收请求时始终没有收到发送的数据。
在粘贴代码之前,我只是将项目中 AngularJS 中的配置更改为如下
var myApp = angular.module('myApp',[]).config(['$httpProvider', '$interpolateProvider', function ($httpProvider, $interpolateProvider) {
$interpolateProvider.startSymbol('{/');
$interpolateProvider.endSymbol('/}');
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';}]);
网址:
urlpatterns = [
url(r'^save_comment/', views.save_comment, name='save_comment'),]
在 Angular 中发送 Https POST:
$scope.submit_comment = function () {
$http({
method: "POST",
url: 'save_comment',
data: $.param({
'fish_id' : "1"
})
}).success(function (response) {
console.log(response.result);
}).error(function () {
console.log("failed")
}); }
在视图中接收请求
def save_comment(request):
data = request.POST.get('fish_id')
return JsonResponse({'result': data}, content_type="application/json", safe=False)
但我没有得到任何结果。控制台给了我这个错误:
POST http://127.0.0.1:8000/brain_browser/save_comment 500(内部 服务器错误)
那么我应该怎么做才能将 Post 数据从 Angular 发送到 Django?
先谢谢了。
【问题讨论】: