TypeError:无法读取属性' url'未定义的AngularJS

时间:2018-01-11 19:12:12

标签: angularjs http

我在堆栈中发现了类似的问题,但它们并没有帮助我解决这个问题。我是Angular JS的新手。 (我在客户端调用了http post方法。)有一个文本框,当用户在框中添加单词并单击“提交”按钮时,我将该数据发送到我的API

我的控制器

'use strict'

export default function ($route,$rootScope,$location,$mdToast, $http , API_URL) {
  this.submitAddress = function (movieName) {

 $http.post(`${MY_URL}/movies`,movieName)

  .then(() => {

    $mdToast.show(
      $mdToast.simple()
        .textContent('Success!')
        .hideDelay(3000)
    )
  })      }}

从视图

        <md-input-container>
      <label>Name</label>
      <input type="text" name="movieName" ng-model="mgMovies.model.movieName"/ >

      </div> -->

    </md-input-container>

按钮

<md-button class="md-raised md-primary" ng-click="$myController.submitAddress(mgMovies.model.movieName)">

来自我的API网址。有一个get和post方法,我的帖子方法在这里

    addresses.post = function (
  request /* : Object */,
  response /* : Object */
) /* : Promise<Object> */ {

  if (!request.body) {
    throw boom.badRequest('No request.url.params provided', 'params')
  }

  if (!request.body.movieName) {
    throw boom.badRequest('Movie name param not provided', 'params')
  }

  return libAddr.saveNewMovie(request.body.movieName)


    .then(() => {
      return response.setStatusCode(200)
  })
}

错误显示为

angular.js:14794 TypeError: Cannot read property 'url' of undefined
at responseError (http-errors-interceptor.js:20)
at processQueue (angular.js:17145)
at angular.js:17193
at Scope.$digest (angular.js:18331)
at Scope.$apply (angular.js:18628)
at HTMLButtonElement.<anonymous> (angular.js:27456)
at defaultHandlerWrapper (angular.js:3785)
at HTMLButtonElement.eventHandler (angular.js:3773) "Possibly unhandled rejection: {}"

1 个答案:

答案 0 :(得分:0)

显示错误的完整堆栈跟踪...“尝试读取未定义的属性”意味着这发生在某个地方var someObj = undefined;以及someObj.url正在访问的其他地方.url属性和someObj未定义。 someObj的实际名称将是其他内容,并且undefined可能不是那么清楚,但是它在堆栈跟踪和对象之前指向的行上有.url .urlundefined