这是我的ajax代码,我需要检查json数据是否有数组? 我怎么能够? 我试过这个,但它却向我显示错误的输出。
$.ajax({
url: url,
type: 'POST',
data: {'data': data},
dataType: "json",
success: function (data) {
if(data)
{
console.log('data is there');
}
else
{
console.log('data is not there');
}
这是我给予回复ajax的回应。
<?php
$json_data_array = '[]';
return $json_data_array;
?>
我该怎么检查?
答案 0 :(得分:2)
你需要查看它的长度。条件if(array)
中的数组在没有项目时为真。
if([]) {
console.log('True');
}
&#13;
检查length
属性
if([].length) {
console.log('True');
}
&#13;
答案 1 :(得分:1)
您可以使用以下方法进行检查:
if( Object.prototype.toString.call( your_variable ) === '[object Array]' ) {
alert( 'Array' );
}else{
alert('Not Array');
}
答案 2 :(得分:0)
使用和回显json_encode($ json_data_array);
构建一个普通数组,然后将其转换为json,这将更容易
<?php
$json_data_array = array();
echo json_encode($json_data_array);
?>
在你的jquery中使用
if($.isEmptyObject(data))
答案 3 :(得分:0)
在javascript中,您可以检查长度
var size= myarray.length;
if(size>=1)
{
alert("not empty");
}
else
{
alert("empty");
}
在php中,您可以使用以下方法检查
if(!empty($myarray))
{
echo "Not Empty";
}
else
{
echo "Empty";
}
答案 4 :(得分:0)
首先你需要json编码你的返回值,就像这样
<?php
$json_data_array = '[]';
return json_encode($json_data_array);
?>
然后你必须在javascript这边检查返回数组的长度
if(data.length > 0){
console.log('data is there');
}else{
console.log('data is not there');
}
答案 5 :(得分:-1)
在javascript中,空数组([])返回true。你应该检查array.length