Javascript 结果为空的AJAX请求-清除HTML输入字段
我有一个选择菜单,当用户做出选择时,它向PHP脚本发出AJAX请求,以查询数据库并返回与选择匹配的值,并将其插入关联的输入字段 这一切都很好,但是我现在需要考虑一种可能性,即可能会返回一个空结果,直到现在,始终会返回一个匹配的结果。如果是这种情况,则需要删除关联输入字段中的值/清除此输入字段 以下是成功的AJAX请求返回JSON数据的内容:Javascript 结果为空的AJAX请求-清除HTML输入字段,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个选择菜单,当用户做出选择时,它向PHP脚本发出AJAX请求,以查询数据库并返回与选择匹配的值,并将其插入关联的输入字段 这一切都很好,但是我现在需要考虑一种可能性,即可能会返回一个空结果,直到现在,始终会返回一个匹配的结果。如果是这种情况,则需要删除关联输入字段中的值/清除此输入字段 以下是成功的AJAX请求返回JSON数据的内容: [{"senderMobile":"0412 345 678"}] 下面是空结果返回的结果: [{"senderMobile":""}] 以下是调用PH
[{"senderMobile":"0412 345 678"}]
下面是空结果返回的结果:
[{"senderMobile":""}]
以下是调用PHP脚本并更新输入字段的AJAX代码:
$document.readyfunction{
$smsFromName.changefunction{
var smsFromName=$smsFromName.val;
console.logsFromName;
$.post'getSMSSender.php'{
发件人名称:smsFromName
},函数数据{
data=JSON.parsedata;
如果数据错误{
警报错误;
$smsFrom.html;
return;//不再执行此函数
}否则{
console.logdata[0].smsFrom;
$smsFrom.valdata[0].senderMobile;
}
}.xhr{
$smsFrom.html;
};
};
}; 您只需要检查senderMobile是否有值。试试这个:
if (data.error) {
alert("error");
$("#smsFrom").html('');
return; // stop executing this function any further
} else if (data[0] && data[0].senderMobile) {
console.log(data[0].smsFrom);
$("#smsFrom").val(data[0].senderMobile);
} else {
$("#smsFrom").val(""); // or .html(""); I didn't get what kind of element is this...
}
您可以尝试检查响应数据中是否有空字符串。 代码应该如下所示:
$(document).ready(function() {
$("#smsFromName").change(function() {
var smsFromName = $("#smsFromName").val();
console.log(smsFromName);
$.post('getSMSSender.php', {
senderName: smsFromName
}, function(data) {
data = JSON.parse(data);
if (data.error) {
alert("error");
$("#smsFrom").html('');
return; // stop executing this function any further
} else {
if(data[0].senderMobile == ""){
$("#smsFrom").empty();
continue;
}else {
console.log(data[0].smsFrom);
$("#smsFrom").val(data[0].senderMobile);
}
}
}).fail(function(xhr) {
$("#smsFrom").html('');
});
});
});