node.js - 问个问题 Uncaught (in promise)
大家讲道理
大家讲道理 2017-04-17 16:16:10
0
2
336

是这个样子的
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)
     }

这是问什么啊?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
伊谢尔伦

首先,同意樓上觀點,我也認為是服務端報錯了

從報錯圖片第一個錯誤來看是因為樓主發起的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)
          })
伊谢尔伦

應該是sever程式碼有問題吧,看下server那塊是不是有報錯

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!