共计 869 个字符,预计需要花费 3 分钟才能阅读完成。
先说问题
- 在页面接入接口的时候无论怎么调试,后盾返回的 result 数组始终为空
- 接口文档要求
2. 调试后果
能够看到 result 后果数组是有值的
3. 上错误代码
getAccount() {
let param = {ssoWorkbenchId:'1479366526093594626'}
let url = '/sso/ssoWorkbench/listSubAccount'
httpAction(url, param, 'post').then(res => {if (res.success) {this.accountList = res.result} else {this.$message.warning(res.message)
}
})
},
乍一看如同没什么问题对吧
4. 页面发送申请时的返回
- 能够比照一下参数那个 id 的值都是一样的,我还认为闹了鬼,五分钟抽了八根烟
-
上面揭晓答案
1. 看一下接口调试时发申请的申请体(失常能够返回值的)是这样的他们之间的区别就在于申请参数数据类型不同,能够比照一下两者的载荷,申请不到数据时是申请载荷,失常时是表单数据,也就是说此接口接管的参数类型是表单类型。so? 如何解决呢?上代码
-
改过后代码如下
getAccount() {let param = new FormData() param.append('ssoWorkbenchId', '1479366526093594626') let url = '/sso/ssoWorkbench/listSubAccount' httpAction(url, param, 'post').then(res => {if (res.success) {this.accountList = res.result} else {this.$message.warning(res.message) } }) },
能够看到返回的数据曾经有值了,申请载荷处的形容也曾经变动为表单数据了
对于 formData 对象的利用,还要多查查文档,记得当前再遇到接口参数类型须要表单数据时会用到此对象即可
总结
代码不会闹鬼,出一些莫名其妙的问题是技术不到位,精进!精进!
正文完