Javascript Django抛出HTTP状态代码405方法不允许出现错误

Javascript Django抛出HTTP状态代码405方法不允许出现错误,javascript,html,angularjs,django,Javascript,Html,Angularjs,Django,我试图将数据发布到RESTAPI,但服务器响应HTTP 405错误。我尝试了很多方法,比如在POST方法中添加标题,在POST标题中更改内容类型,但似乎没有任何效果。 服务器的确切响应是 {“详细信息”:“不允许使用方法\”POST \“ HTML和JS代码 <!DOCTYPE html> <html> <head> <title> New User Story </title> <scri

我试图将数据发布到RESTAPI,但服务器响应HTTP 405错误。我尝试了很多方法,比如在POST方法中添加标题,在POST标题中更改内容类型,但似乎没有任何效果。 服务器的确切响应是

{“详细信息”:“不允许使用方法\”POST \“

HTML和JS代码

    <!DOCTYPE html>
<html>
<head>
    <title>
    New User Story
    </title>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <script type="text/javascript">
        var app = angular.module('postserviceApp', []);
        app.controller('postserviceCtrl', function ($scope, $http) {
        $scope.jiraLink = null;
        $scope.reporter = null;
        $scope.assignee = null;
        $scope.Reviewer = null;
        $scope.summary = null;
        $scope.description = null;
        $scope.storyPoints = null;
        $scope.postdata = function (jiralink, reporter, assignee, reviewer, summary, description, storypoints) {
        var data = {
        jiraLink: jiralink,
        reporter: reporter,
        assignee: assignee,
        Reviewer: reviewer,
        summary: summary,
        description: description,
        storyPoints: storypoints
        };



        //Call the services  $http.post('/userStory/story', JSON.stringify(data))
        $http({
            method: 'POST',
            url: '/userStory/story',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
                'Accept': 'application/json'
            },
            data: data
        }).then(function (response) {
        if (response.data)
        $scope.msg = "User story created Successfully!";
        }, function (response) {
        $scope.msg = "Couldn't create an User story";
        $scope.statusval = response.status;
        $scope.statustext = response.statusText;
        $scope.headers = response.headers();
        });
        };
        });
    </script>
</head>

<body>
    <div ng-app="postserviceApp" ng-controller="postserviceCtrl">
        <div>
            Jira Link : <input ng-model="jiralink" /><br/><br/>
            Reporter : <input ng-model="reporter" /><br/><br/>
            Assignee : <input ng-model="assignee" /><br/><br/>
            Reviewer : <input ng-model="reviewer" /><br/><br/>
            Summary : <input ng-model="summary" /><br/><br/>
            Description : <input ng-model="description" /><br/><br/>
            Story Points : <input ng-model="storypoints" /><br/><br/>
            <input type="button" value="Create" ng-click="postdata(jiralink, reporter, assignee, reviewer, summary, description, storypoints)" /> <br/><br/>
        </div>
        <p>Output Message : {{msg}}</p>
        <p>StatusCode: {{statusval}}</p>
        <p>Status: {{statustext}}</p>
        <p>Response Headers: {{headers}}</p>
    </div>
</body>

</html>

我想不出问题出在哪里。欢迎提供任何帮助。

确保API期望的是POST而不是GET。是的,得到了。必须从ModelViewSet类而不是api.py文件中的ListAPIView类继承,并且必须将路由器添加到我的url.py文件中,从而使django REST framework允许POST请求。非常感谢您的帮助@aUXcoder
from django.db import models

class Story(models.Model):
    jiraLink = models.TextField(max_length=200)
    reporter = models.TextField(max_length=50)
    assignee = models.TextField(max_length=50)
    Reviewer = models.TextField(max_length=50)
    summary = models.TextField(max_length=50)
    description = models.TextField(max_length=300, blank=True)
    storyPoints = models.IntegerField(null=True, blank=True)