node.js - 問個問題 Uncaught (in promise)
問題描述
是這個樣子的vue+vue-resource+express組合然后在下面這里遇到問題了
client
this.$http.jsonp(’http://localhost:3300/register’, { params: { name: this.name, password: this.password, repassword: this.repassword } }, {}) .then(function (response) { console.log(response.data.state) })
server
app.get(’/register’, function (req, res) { userTools.create(user).then(function(result){res.jsonp(result) }).catch(function(err){res.jsonp(data) }) })
這樣就會出錯
如果server改為下面這樣就不出包錯了
app.get(’/register’, function (req, res) { res.jsonp(data) }
這是問什么啊?
問題解答
回答1:首先,同意樓上觀點,我也認為是服務端報錯了
從報錯圖片第一個錯誤來看是因為樓主發起的jsonp請求,但是返回時設置的響應頭設置了’application/json’,樓主可以去了解下jsonp原理,試著在get里面調用res.setHeaders(貌似是這個api記不太清了,總之就是設置響應的header頭),把響應數據的mine類型改成’application/javascript’試試
其次 Uncaught (in promise) 錯誤是指調用promise時報錯,是由于第一條錯誤引發的后續錯誤,但是客戶端沒有catch住,樓主可以這么寫
this.$http.jsonp(’http://localhost:3300/register’, { params: { name: this.name, password: this.password, repassword: this.repassword } }, {}) .then(function (response) { console.log(response.data.state) }).catch(e => { // 打印一下錯誤 console.log(e) })回答2:
應該是sever代碼有問題吧,看下server那塊是不是有報錯
相關文章:
1. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處2. javascript - vue-echarts-v3使用的過程中折線圖區域呈漸變色。3. 關于Mysql聯合查詢4. centos7 編譯安裝 Python 3.5.1 失敗5. mysql - 這個數據庫合計用 視圖做,和直接算好存在數據庫里,到時候調用起來哪個快?6. 人工智能 - python 機器學習 醫療數據 怎么學7. python - beautifulsoup獲取網頁內容的問題8. python - 在django內如何讓后臺增加的文章自動加上是哪個用戶編輯的呢?9. pip安裝提示Twisted錯誤問題(Python3.6.4安裝Twisted錯誤)10. c++ - 請問MySQL_Connection::isReadOnly 怎么解決?
