解决方法直接拉到最后看。首先讲一下debug的流程
起因是一次前端调后端接口的普通流程
当我打开F12看浏览器控制台的时候,莫名出现了下面的报错
但是一切正常,接口数据也能返回
但是毕竟是报错,需要解决,于是我开始搜索报错出现的原因。
搜索出来大部分博客说的都是key值重复,但是我没有设置过key,根本不可能报错。
但是这些博客给了我一个误导方向,即:报错是出在前端。
于是我折腾了很久,甚至回滚重调接口,仍然出现了这个问题,让我真是头疼不已,因为也没有找到任何解决方法,控制台报错也无法定位到任何点。
这时我意识到很可能不是前端的问题,毕竟数据是从后端过来的,于是我把这个报错复制到有道翻译里进行翻译
突然发现第一个报错是l,并不是1,然后我看了一下后端接口代码,因为我设置的返回数据都是skyvalley
然后我发现报错的l和y都在数据字符串中有重复,而我一直把l看成是1。
于是我把所有返回的数据从skyvalley改成了sky,发现没有报错了
而报错的原因竟然就是因为我的接口数据返回的字符串里包含了重复字符。这不是闹呢吗,难道以后我返回的数据都要保证26个字母不重复吗。
实在是不明白为什么会有这种设定的存在,而且也找不出从哪改这种奇怪的设定,只能先暂时用着,后期如果有其他解决方法再说把
------------------------------解决方法---------------------------------
后端接口返回的字符串数据中的字符不能有重复,即如果你原来返回的字符是hello,那不行,因为l重复了,你要是返回helo,那可以,就不会报错
原因不详,无语