ホームページ  >  に質問  >  本文

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)
     }

这是问什么啊?

大家讲道理大家讲道理2713日前311

全員に返信(2)返信します

  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:18:10

    まず第一に、私は上記の意見に同意します。私もこれはサーバーによって報告されたエラーだと思います

    エラー画像から判断すると、最初のエラーは投稿者が開始した jsonp リクエストによるものですが、返されるときに設定される応答ヘッダーは「application/json」に設定されています。投稿者は jsonp の原理を理解して試行できます。 get.setHeaders で res を呼び出して (この API をはっきりと覚えていないようですが、要するに応答のヘッダーを設定するだけです)、応答データのタイプを 'application/javascript' に変更してみてください

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

    リーリー

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:18:10

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

    返事
    0
  • キャンセル返事