Javascript 结果为空的AJAX请求-清除HTML输入字段

Javascript 结果为空的AJAX请求-清除HTML输入字段,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个选择菜单,当用户做出选择时,它向PHP脚本发出AJAX请求,以查询数据库并返回与选择匹配的值,并将其插入关联的输入字段 这一切都很好,但是我现在需要考虑一种可能性,即可能会返回一个空结果,直到现在,始终会返回一个匹配的结果。如果是这种情况,则需要删除关联输入字段中的值/清除此输入字段 以下是成功的AJAX请求返回JSON数据的内容: [{"senderMobile":"0412 345 678"}] 下面是空结果返回的结果: [{"senderMobile":""}] 以下是调用PH

我有一个选择菜单,当用户做出选择时,它向PHP脚本发出AJAX请求,以查询数据库并返回与选择匹配的值,并将其插入关联的输入字段

这一切都很好,但是我现在需要考虑一种可能性,即可能会返回一个空结果,直到现在,始终会返回一个匹配的结果。如果是这种情况,则需要删除关联输入字段中的值/清除此输入字段

以下是成功的AJAX请求返回JSON数据的内容:

[{"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('');
    });
  });
});