1

如果 xmlHttp.responseText 的数组 nr#1 为空,我正在尝试做一个条件。但我无法让它工作。不知道怎么回事。。

从 php我使用 json_encode 发送数组。在 javascipt 我使用 JSON.parse() 方法来解析数组。

这个数组中只有 2 个字符串 ["", ""]

而且我正在尝试检测第一个数组是否为空,因此请注意。

让我们看看我的代码:

var str=xmlHttp.responseText;
var res=JSON.parse(str);

我尝试过以下几行,但没有一个行得通!

if (res[0]=null) {
alert('hey, it´s null');
}

AND

if (res[0]==null) {
alert('hey, it´s null');
}

AND

if (res[0]=="null") {
alert('hey, it´s null');
}

AND

if (res[0]=="") {
alert('hey, it´s null');
}


I have used PHP to echo the code json and i get:

["null",""]

那么到底有什么问题呢?

4

1 回答 1

1

如果你得到 json 数据:

["null",""]

这意味着

$data = array(
    0 => "null",
    1 => ""
);

$json = json_encode($data);
echo $json;                 ---> this result like yours....["null",""]
echo "<br />";
$res =  json_decode($json);   ----> you must decode your Json first...

echo $res[0];                -----> this code result is "null" like you wanted...

下面的语句将让您知道对象是否为空。

if (res[0]==null) {             -----> it always result "[" not the data "null"....
alert('hey, it´s null');
}

因此,首先您必须解码 json 数据,然后检查对象。

于 2013-09-04T18:38:45.097 回答