Ich sende eine Post-Anfrage an eine Django-Ansicht von angular js, aber es gibt mir 500 (interner Serverfehler).Post Anfrage von angular js zu Django anzeigen gibt 500 internen Server Fehler
Dies ist meine Winkel Datei:
var app = angular.module('myApp', [])
app.config(function($interpolateProvider, $httpProvider){
$interpolateProvider.startSymbol('{[{').endSymbol('}]}');
$httpProvider.defaults.xsrfCookieName = 'csrftoken';
$httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
});
app.controller('myCtrl', ['$scope', '$http', function ($scope, $http){
var details = {
length : $scope.length,
breadth : $scope.breadth,
height : $scope.height,
weight : $scope.weight,
country : $scope.country,
itemType : $scope.itemType
}
var theJSON = JSON.stringify(details);
$http({
method : 'POST',
url : '/interApp/calc/',
data : $.param(theJSON),
headers : {'Content-Type': 'data:application/json;charset=utf-8;'+ encodeURIComponent(theJSON) },
}).success(function(data) {
console.log(theJSON);
})
}
}])
und dies ist die django Ansicht:
from django.http import Http404
from django.http import HttpResponse
from django.shortcuts import render_to_response
from .models import Countries,CourierCompany,Zones,Weight
from django.core.context_processors import csrf
def rate_calculator(request):
if request.method == "POST":
////code goes here...
und meine urls.py Datei ist:
from django.conf.urls import url
from . import CostView
urlpatterns = [
url(r'^calc/', views1.rate_calculator, name='rate_calculator'),
]
aber es gibt mir Der Fehler im Konsolenfenster:
POST http://127.0.0.1:8000/interApp/calc/ 500 (Internal Server Error)
Ich denke, 'data: theJSON,' ist genug da –
Versuchen Sie, Daten mit Postman zu posten und sehen, es gibt auch den gleichen Fehler –
Lassen Sie, wenn fehlschlagen - setzen Sie die 'DEBUG = True' in den Einstellungen und beobachten Sie den Fehler. Oder, wenn Sie die Protokollierung eingerichtet haben - nur erkunden, was der Fehler ist. – alecxe