我有返回json数据的函数
transformResponse : function(data) {
return JSON.parse(data).results;
}
当函数调用它时出错
错误:JSON.parse:第2行第1列的意外字符 JSON数据
如果它们没有数据,那么JSON.parse(data).results []为空。 我认为错误是由于这个[]对象
那么如何检查是否返回空是json还是没有?
答案 0 :(得分:0)
在尝试访问元素之前测试json parse的返回值 //编辑,添加测试
var transformResponse = function(data){
if(( typeof data !== undefined) && ( typeof data !== 'undefined') && ( data !== null ) && (data !== "")){
var d = JSON.parse(data) ;
if(( typeof d !== undefined)&&(d!=null)){
return d.results;
}else{
return null;
}
}else{
return null;
}
};
答案 1 :(得分:0)
transformResponse : function(data) {
var responseData = JSON.parse(data);
return (responseData && responseData.results) ? responseData.results:null;
}
如果responseData没有结果或为空,则返回null 结果数组。