2017-10-07 32 views
-1

當我嘗試從我的對象獲取值時,我得到了一個奇怪的警告。我得到的價值是用JSON。我想知道這裏有什麼問題,我的代碼有什麼問題。爲什麼我的變量未定義?變量未定義,而試圖從服務器獲取它

我的模板代碼:

<template> 
    <textarea id="terms" v-model="terms.value" name="terms" type="text" rows="20"></textarea> 
     <button class="btn waves-effect waves-light " v-on:click="updateUserProfile">Update Profile</button> 
</template> 


    <script> 
    import firebase from 'firebase' 
    import axios from 'axios' 
    export default { 

     data: function() { 
      return { 
       id: '', 
       email: '', 
       terms: {}, 

      } 
     }, 
     methods: { 
      getUserProfile: function() { 
       var accessToken; 
       var self = this; 
        var config = { 
         headers: {'Authorization': 'Bearer ' + accessToken} 
        }; 
        axios.get('https://api-link/', config). 
        then(response => { 
         console.log("Response on GET OK: " + response) 
         self.id = response.data.id 
         self.terms = response.data.terms 

        }) 
        .catch(e => { 
         console.log("Error on GET: " + e) 
        }); 
       }).catch(function(error) { 
        console.log("Error on getting token: " + error) 
       }); 
      }, 
      updateUserProfile: function() { 
       var accessToken; 
       var self = this; 
       var config = { 
        headers: {'Authorization': 'Bearer ' + accessToken} 
       }; 
       axios.put('https://api-link/', 
       { 
        terms: self.terms 
       }, config). 
       then(response => { 
        console.log("Response on PUT: " + response) 
        self.email = response.data.email 
        self.id = response.data.id 
        self.userType = response.data.user_type 
        self.terms = response.data.terms 
       }) 
       .catch(e => { 
        console.log("Error on PUT: " + e) 
       }); 

      }, 
     }, 
     mounted() { 
      this.getUserProfile() 
     }, 
    } 
    </script> 

下面是我的控制檯我的截圖,請如果你需要更多的信息發表評論。 真的很感謝幫助,因爲我在這裏呆了幾個小時。還別說我在VueJS一個新手 enter image description here

+0

哪行代碼是問題? – Mikkel

+0

我認爲這是在getUserProfile()獲取條款值 – Muli

+0

一個問題是您的模板中有兩個根元素。你需要在包含'div'的標籤中包含'textarea'和'button'。 – Bert

回答

0

檢查,如果你的反應是先不確定,如果沒有,那麼你可以指定你的響應數據的變量: 在你的GET將這個,而我認爲這將刪除警告/錯誤。

if (response.data.terms !== undefined) { 
    self.terms = response.data.terms 
} 
+0

作品,@FBC再次感謝你:D – Muli

相關問題