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

是这个样子的
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.setHeaders で res を呼び出して (この API をはっきりと覚えていないようですが、要するに応答のヘッダーを設定するだけです)、応答データのタイプを 'application/javascript' に変更してみてください

2 番目に、Uncaught (in Promise) エラーは、Promise を呼び出すときのエラーを指しますが、クライアントはこのエラーをキャッチできません。

リーリー
いいねを押す +0
伊谢尔伦

サーバーコードに問題があるはずです。サーバー部分にエラーがあるかどうかを確認してください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート