ZcyKK
ZcyKK
  • 发布:2023-07-07 09:04
  • 更新:2023-07-07 09:04
  • 阅读:364

关于网络请求结果中出现NULL值导致无法获取请求结果的解决方案

分类:uni-app

码云地址

//该demo主要用于uniapp中,uni.request请求数据中出现NULL值而导致无法获取请求结果的解决方式  
//该函数核心在于dataType属性的转换            
//对于部分请求数据中含有NULL值,无法获取请求数据的情况优先转换为非josn格式,这里用text              
getUserinfo() {  
    const _this = this  
    uni.request({  
        url: "url",  
        header: {'Content-Type': 'application/x-www-form-urlencoded'},  
        method: "GET",  
        dataType: 'text',  
        success(res) {  
            try {  
                var jsonData = JSON.parse(res.data);  
                var replacedData = _this.replaceNullWithEmptyString(jsonData);  
                console.log(replacedData); // 替换后的数据  
                // 访问数据示例  
                console.log(replacedData.data.XXXX)  
            } catch (error) {  
                console.error('解析数据出错:', error);  
            }  
        },  
        fail: function(err) {  
            console.log(err);  
        }  
    })  
},  
/*该函数用于替换手动解析后的数据中的NULL为" "空字符串*/  
replaceNullWithEmptyString(data) {  
    const _this = this  
    if (typeof data === 'object' && data !== null) {  
        if (Array.isArray(data)) {  
            return data.map(item => _this.replaceNullWithEmptyString(item));  
        } else {  
            var newData = {};  
            for (var key in data) {  
                if (data.hasOwnProperty(key)) {  
                    newData[key] = _this.replaceNullWithEmptyString(data[key]);  
                }  
            }  
            return newData;  
        }  
    } else {  
        return data === null ? '' : data;  
    }  
}
0 关注 分享

要回复文章请先登录注册