TypeError:{(中间值)(中间值)}。然后不是函数

时间:2018-02-07 00:53:20

标签: javascript vue.js axios

尝试使用Axios发布时,我收到一个奇怪的错误。

JS:

     methods: {
        onSubmit: function () {
          axios.post('/user_token', {
            auth: {
              email: this.$refs.user_email.value,
              password: this.$refs.user_password.value
            }
            .then(response => {
              debugger
              localStorage.setItem("token", response.data.jwt)
            })
            .catch(error => {
              var err = error.response.data.errors
            })
          });
        }
      }

提交vaild的电子邮件和密码时,我没有点击该调试器,而是在控制台中看到此错误:

TypeError: {(intermediate value)(intermediate value)}.then is not a function

任何人都知道我做错了什么?

3 个答案:

答案 0 :(得分:1)

axios.post

之前应该关闭.then的括号和parethese

答案 1 :(得分:1)

您需要将.then()移至.post()的外部。试试这个:

 methods: {
    onSubmit: function () {
      axios.post('/user_token', {
        auth: {
          email: this.$refs.user_email.value,
          password: this.$refs.user_password.value
        }
      }).then(response => {
        localStorage.setItem("token", response.data.jwt)
      }).catch(error => {
        var err = error.response.data.errors
      });
    }
  }

答案 2 :(得分:0)

检查您的数组声明,是否为二维数组以及u是否以 var arr = new Array(); 删除新数组并继续 var arr = [[“”“,” A“],[” 2“,” B“]];