node.js - 问个问题 Uncaught (in promise)

 六九四四708 发布于 2022-10-31 01:46

是这个样子的
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 个回答
  • 应该是sever代码有问题吧,看下server那块是不是有报错

    2022-10-31 22:37 回答
  • 首先,同意楼上观点,我也认为是服务端报错了

    从报错图片第一个错误来看是因为楼主发起的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)
              })
    2022-10-31 22:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有