【问题标题】:Sending post request and getting error "undefined is not a function"发送发布请求并收到错误“未定义不是函数”
【发布时间】:2014-07-29 14:22:16
【问题描述】:

我创建了一个 AngularJs 应用程序。

我有一个控制器,当我单击特定按钮时,我需要将信息发送到服务器。 控制器有一个名为“button_clicked”的函数

$scope.button_clicked = function () {

    1     var currentObject = $scope.getCurrentObject;

    2    $http.post(ENV.server_prefix + 'object/addObject/', currentObject)
    3        .then(function (data, status) {
    4          //Doing something!!
    5       }).error(function (data, status, params) {
    6           alert(data);
    7       });
    };

当我运行代码时,回调被执行。但是在控制台中出现错误: “未定义不是函数”,它指向第 5 行

为什么会出现这个错误以及如何处理?

【问题讨论】:

    标签: javascript angularjs http-post


    【解决方案1】:

    尝试使用success

    $scope.button_clicked = function () {
    
         var currentObject = $scope.getCurrentObject;
    
        $http.post(ENV.server_prefix + 'object/addObject/', currentObject)
            .success(function (data, status) {
              //Doing something!!
           }).error(function (data, status, params) {
               alert(data);
           });
    };
    

    当您使用then 时,错误处理程序应作为第二个参数传递:

    $http.post(ENV.server_prefix + 'object/addObject/', currentObject)
        .then(function (data, status) {
          //Doing something!!
       }, function (data, status, params) {
           alert(data);
    });
    

    【讨论】:

      【解决方案2】:

      您在这里混淆了then 的语法。如果您使用then,它需要两个参数,第一个是成功处理程序,第二个是错误处理程序。

      $scope.button_clicked = function () {
      
          var currentObject = $scope.getCurrentObject;
      
          $http.post(ENV.server_prefix + 'object/addObject/', currentObject)
              .then(function (data, status) {
                      //Doing something!!
                  }, function(data, status, params) {
                      alert(data);
                  });
          });
      };
      

      【讨论】:

        猜你喜欢
        • 2016-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多