【问题标题】:AngularJS $http.post not getting JSON success response. Instead redirects to URL of the REST endpointAngularJS $http.post 没有得到 JSON 成功响应。而是重定向到 REST 端点的 URL
【发布时间】:2015-02-15 13:35:44
【问题描述】:

在使用 AngularJS $http.post 时遇到问题。完成 post 请求后,表单不会返回 JSON 响应,而是重定向到 127.0.0.1:8000/api/forms/create。后端响应是使用 Django Rest Framework 完成的。这是一个 COR 请求。 angularJS 表单托管在端口 9000 上,调用端口 8000。当服务器关闭时,它不会返回错误警报,而是返回未找到的页面,并且 url 再次重定向到 127.0.0.1:8000/ api/表单/创建。 感谢任何建议。

下面是 Angular 脚本的控制器代码:

'use strict';
angular.module('myApp')
  .controller('DemoController', function ($scope, $http, DemoService, Tools) {
  var form_submit = function() {$http.post("127.0.0.1:8000/api/forms/create", {name:$scope.applicant, date:$scope.date, address=$scope.address}).success(function(data){ alert(data); })
  .error(function(error){
    alert('something failed');
  })};
  });

下面是index.html:

    <!DOCTYPE html>
    <head>
    </head>
   <body ng-app="myApp" ng-submit="form_submit()">
    <FORM action="http://127.0.0.1:8000/api/forms/create/" method="post">
   <INPUT type="text" ng-model="applicant" name="name">
    <INPUT type="text" ng-model="date" name="date"> 
    <INPUT type="text" ng-model="address" name="address">
   <INPUT type="submit" value="Send"> 
    </FORM>
    </body>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.min.js"></script>
    <script src="controllers/demo.js"></script>
    </html>

【问题讨论】:

    标签: django angularjs forms


    【解决方案1】:

    尝试在 POST url 末尾添加 / 斜杠(请参阅 APPEND_SLASH 设置以供参考):

    $http.post("127.0.0.1:8000/api/forms/create/"...
    

    【讨论】:

      【解决方案2】:

      你试过了吗:

      <FORM ng-submit="form_submit()">
      

      而不是

      <body ng-submit="form_submit()">
      

      它应该(希望)在后台发布你的 $http

      【讨论】:

      • Srujan Routhu 是对的:$scope.form_submit= function(){...}
      • 谢谢。这是我遇到的问题。感谢大家的所有帮助。
      【解决方案3】:

      您在控制器中的 form_submit 变量不是作用域变量。

      而不是使用

      var form_submit
      

      改成

      $scope.form_submit
      

      我认为这会奏效。

      【讨论】:

        猜你喜欢
        • 2017-09-20
        • 1970-01-01
        • 2016-11-22
        • 2016-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-10
        相关资源
        最近更新 更多