data数据返回报异常的问题?

代码如下:

if (res.code === 0) {
        if (res.data.agreementUrl) {
          this.arrItems = (res.data.agreementUrl || "").split(",");
          const params = this.arrItems.map((val) => {
            return { url: val };
          });
          this.fileList = params;
        }
      }

点击按钮报了这个异常:

CommuniterImg.vue?2e9a:74 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'agreementUrl')

那怎么解决这个问题呢

阅读 2k
2 个回答

res.data是null了,读取agreementUrl错误

怎么解决
1、和后端讨论下,返回null是否合理,需不需要补全数据
2、前端自己做下容错处理,如果res.data有值再进行处理,或者res.data没值的时候给他一个默认值

// 使用?操作符,如果不存在则不会报错
if (res.code === 0) {
        if (res.data.agreementUrl) {
          this.arrItems = res.data?.agreementUrl?.split(",");
          const params = this.arrItems.map((val) => {
            return { url: val };
          });
          this.fileList = params;
        }
      }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏