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. docker-machine添加一个已有的docker主机问题2. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题3. angular.js - angularjs的自定义过滤器如何给文字加颜色?4. javascript - 修改表单多选项时和后台同事配合的问题。5. docker - 如何修改运行中容器的配置6. 关于docker下的nginx压力测试7. docker-compose 为何找不到配置文件?8. redis - 究竟是选择微信小程序自带的统计工具还是自己开发一个数据统计的代码?9. angular.js - angular ui bootstrap 中文显示问题10. javascript - 怎么实现点击表格中的某一行然后就在表单处出现表格中的对应的属性值啊

网公网安备