2016-04-23 2 views
2

У меня возникли проблемы с моим запросом HTTP POST в AngularJS. Ошибка, которую я получаю:

POST http://localhost:8080/ 403 (Forbidden). 'rating-add' is a named url 

Так что я не знаю, почему это не позволяет этого. Это шаблон:

<script> 
    var app = angular.module('myApp', []); 
    app.controller('myCtrl', function($scope, $http){ 
    $scope.ratings = []; 
    var data = $scope.myForm = {beer_name:'', score:'', notes:'', brewer:''}; 
    $scope.buttonClick = false; 
    $scope.is_clicked = function() { 
     $scope.buttonClick=true; 
     console.log($scope.buttonClick) 
    } 
    $scope.submit_to_form = function() { 
     $http({ 
      method: 'POST' 
      url: 'rating-add' 
      data: data 
     }); 
    } 
    }) 
    </script> 

И urls.py:

from django.conf.urls import url 
from django.contrib import admin 

from ratings.views import home, RatingCreate, delete, edit 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^$', RatingCreate.as_view(), name='rating-home'), 
    url(r'rating/add/$', RatingCreate.as_view(), name='rating-add'), 
    url(r'rating/delete/(?P<row_id>[0-9]+)/$', delete , name='rating-delete'), 
    url(r'rating/edit/(?P<row_id>[0-9]+)/$', edit , name='rating-edit'), 
] 

ответ

2

Вы должны добавить ведущую косую черту, как это -

url : '/rating/add' 

Заканчивать Документы here.

Вы должны напечатать свои маршрутов из Джанго, чтобы выяснить, где разместить.

+0

Это не работает, потому что 'rating-add' - это именованный url. Так что/rating-add не соответствует ни одному urlconf. Но даже когда я пытаюсь '/ rating/add /', я все равно получаю ту же ошибку. – user3251349

+0

Вы пытались удалить заднюю косую черту? Или попробуйте что-то вроде рейтинга/добавить/1 – atefth

+0

Спасибо за вашу помощь. Как распечатать мои маршруты? – user3251349

Смежные вопросы