Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS:如何将url传递到$http POST_Angularjs_Django - Fatal编程技术网

AngularJS:如何将url传递到$http POST

AngularJS:如何将url传递到$http POST,angularjs,django,Angularjs,Django,我在AngularJS中遇到http POST请求问题。我得到的错误是: POST http://localhost:8080/ 403 (Forbidden). 'rating-add' is a named url 所以我不知道为什么它不允许这样。这是模板: <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope, $http){ $scop

我在AngularJS中遇到http POST请求问题。我得到的错误是:

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>

var-app=angular.module('myApp',[]);
app.controller('myCtrl',函数($scope,$http){
$scope.ratings=[];
var data=$scope.myForm={beer\u name:'',score:'',notes:'',brewer:''};
$scope.buttonClick=false;
$scope.is_=function(){
$scope.buttonClick=true;
console.log($scope.buttonClick)
}
$scope.submit_to_form=函数(){
$http({
方法:“发布”
url:“评级添加”
数据:数据
});
}
})
以及URL.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'),
]
从django.conf.url导入url
从django.contrib导入管理
从ratings.views导入主页、评级创建、删除、编辑
URL模式=[
url(r“^admin/”,admin.site.url),
url(r'^$',RatingCreate.as_view(),name='rating-home'),
url(r'rating/add/$,RatingCreate.as_view(),name='rating-add'),
url(r'rating/delete/(?P[0-9]+)/$”,delete,name='rating-delete'),
url(r'rating/edit/(?P[0-9]+)/$”,edit,name='rating-edit'),
]

您需要像这样附加一个前导斜杠-

url : '/rating/add'
查看文档

你应该从Django打印出你的路线,以找到投递地点


这不起作用,因为“评级添加”是一个命名的url。因此/rating add与任何urlconf都不匹配。但即使我尝试“/rating/add/”时,仍然会出现相同的错误。您是否尝试删除尾部斜杠?或者尝试评级/添加/1感谢您的帮助。我如何打印我的路线?请检查此项您可以像这样使用-$./manage.py show\u URL