检查AJAX响应数据是否为空或空比不显示在输出
问题描述:
这是ajax函数,我想要当数据是null
或undefined
比输出(#access element
)显示为空“”(或不保存任何在输出数据时为空或找不到)检查AJAX响应数据是否为空或空比不显示在输出
$(function(){
$('#userId').on('keyup', function() {
var value=$(this).val();
$.ajax('/projectname/admin/getUserAccess/' + value,
{
dataType: 'JSON',
success: function(data){
var str = data.access.replaceAll(/\|/g, ',');
var result = str.substring(1, str.length - 1);
$("#access").val(result);
}
});
});
});
答
只需添加一个条件来检查,如果数据存在或不作为
If(data) {
var str = data.access.replaceAll(/\|/g, ',');
var result = str.substring(1, str.length - 1);
$("#access").val(result);
}
答
我建议增加一个简单的泛型函数来检查空/未定义因为这对您的项目的其他部分也很方便。通用功能是这样的: -
function isEmpty(value) {//Function to check if value is Empty or Null
switch (typeof(value)) {
case "string": return (value.length === 0);
case "number":
case "boolean": return false;
case "undefined": return true;
case "object": return !value ? true : false; // handling for null.
default: return !value ? true : false
}
}
如下然后更新您的成功: -
success: function(data){
if(isEmpty(data)){
$("#access").html(data); //Notice it is Html and not val as you want data displayed
}else {
window.alert('Nothing Returned');//If at all you want an Alert
$("#access").html('');//Sets the $("#access") with nothing to display
}
我希望这可以解决的障碍
+0
嗨,谢谢你的帮助 – ARROW
+0
请点击上箭头和检查箭头,如果你发现我的答案有帮助,请投票。 –
答
谢谢所有评论和答案我了解更多其他答案的东西:) 我增加了行$(“#access”).val(“”)并修正了问题。
success: function(data){
$("#access").val("");
var str = data.access.replaceAll(/\|/g, ',');
var result = str.substring(1, str.length - 1);
$("#access").val(result);
}
'如果(数据){//做的东西}' –
你可以用IF(data.length> 0).... – Ajay2707
通过KEYUP谢谢你的答复,其显示最后的数据还没有签,我想清除最后的数据 – ARROW