为什么AngularJS中的$ http.put不起作用?

时间:2015-04-26 00:03:17

标签: javascript json angularjs http

我目前在页面中有以下角度脚本:

var app = angular.module('doorman', []);
app.controller('formCtrl', function($scope, $http) {
  $scope.create = function() {
    var msg = '{' +
      '"id":"id",' +
      '"building":"' + $scope.building + '",' +
      '"unit":"' + $scope.unit + '",' +
      '"firstName":"' + $scope.firstName + '",' +
      '"name":"' + $scope.name + '",' +
      '"carrier":"' + $scope.carrier + '",' +
      '"tracker":"' + $scope.tracker + '"' +
      '"delivered":"0",' +
      '"added":"NOW()"' +
      '}';
    $http.put("104.131.166.246:8080/doorman/rest/pilot", msg).
    success(function(data, status, headers, config) {
      //empty the fields
      $scope.building = "";
      $scope.unit = "";
      $scope.firstName = "";
      $scope.name = "";
      $scope.carrier = "";
      $scope.tracker = "";
    }).
    error(function(data, status, headers, config) {
      //TODO temporary, remove
      alert("ERROR " + status + ": " + data);
    });
  };
  $scope.search = function() {

  }
});

我有一个后端RESTful java servlet处理请求。 当我调用'create()'函数时,输出总是在错误函数上结束,显示警告'ERROR undefined:undefined'。在监视chrome上的http请求时,我看不到任何请求。问题是什么?

2 个答案:

答案 0 :(得分:0)

从角度来看,您的代码看起来不错。此外,当您说错误部分中的呼叫结束时,它表示出站呼叫或服务器端出现问题。您可以使用浏览器工具,或者如果您在Windows中使用 fiddler 这样的工具来查看网络流量以查看正在发生的情况。一个

另外,看看是否必须在服务器端启用跨源资源共享(CORS)。

干杯

答案 1 :(得分:0)

发现错误。显然,将“http://”附加到url的开头是必要的。不管怎样,谢谢!