我发送了一个搜索数据库的ajax请求。如果未找到结果,是否有理由选择返回null
,{}
或[]
?是否考虑过#34;标准"或者"最佳实践"?
答案 0 :(得分:7)
差异可以忽略不计。
null
是表示"没有值"的通常方式,但您的客户端代码需要明确检查。
如果回复实际上意味着"这里是结果,但是他们已经空了",[]
或{}
可能更合适,只要您匹配非空响应的格式(即,如果客户端期望数组,则不发送{}
,反之亦然)。
基本上:
null
似乎更合适。 []
。result[someKey]
),请使用{}
。result.someProperty
之类的操作),那么null
优于null
返回一个空对象。或者更清楚:如果客户将结果视为单个值,请使用[]
。如果客户将其视为列表,请使用{}
。如果客户将其视为地图,请使用{{1}}。