【发布时间】:2012-12-13 14:31:06
【问题描述】:
我正在通过 JSON 从 MySQL 获取一些数据。但是我想定位响应是否为空,如果它不为空,我会显示返回的信息,否则我会显示一条消息。
我尝试了多种可能的解决方案,例如检查 JSON 响应的长度,检查项目严重性是否存在,如果不存在则假定它为空等。
这是我的代码的 sn-p:
var data = $.ajax({
type: 'GET',
url: 'http://www.mydomain.com/php/loaddata.php?&jsoncallback=?',
dataType: 'JSONp',
timeout: 5000,
success: function(data) {
$.each(data, function(i,item){
if (item.Severity == 1) {
// Do Something
.....
当 JSON 找到数据时,回复是这样的: 更新:
([{"Severity":"1","Latitude":"35.872883","Longitude":"14.449133","Address":"Some Address 1","Heading":"25","Timestamp":"2012-12-28 10:15:03"},{"Severity":"2","Latitude":"35.871269","Longitude":"14.501580","Address":"Some Address 2","Heading":"80","Timestamp":"2012-12-28 10:15:31"}]);
如果没有找到数据,则返回 JSON:
([]);
【问题讨论】:
-
你检查过 data.length 吗?
-
@ryadavilli 是的,但是它不起作用。我试过 if (data.length === 0)
-
你需要否定那个表达式
-
那么,如果数据为空,究竟会返回什么? (
console.log(typeof data, data);) -
这很奇怪。如果你得到一个空数组,数据实际上是一个长度为 0 的数组。
标签: php javascript jquery json jsonp