1

有人可以告诉我如何确保以下代码仅在msg不为空时返回成功。

success即使msg.Text未定义,它有时也会触发该函数。

$.ajax({
    async: true,
    url: url,
    type: "GET",
    data: params,
    success: function (msg) {
        if (msg.Text != undefined) {
            $('#mediumText').val(msg.Text).blur();
        } else {
            console.log("failed to load");
            return false;
        }
    }
});
4

4 回答 4

1

如果 msg.Text 未定义,并不代表调用不成功,所以调用success函数是完全可以的。您必须在成功回调中检查 msg.Text。

于 2013-03-28T12:03:57.000 回答
1

你可以检查长度和它的空不是。

$.ajax({
async: true,
url: url,
type: "GET",
data: params,
success: function (msg) 
{
      if (msg.Text != null && msg.Text.Length > 0) 
      {
           $('#mediumText').val(msg.Text).blur();
      }
      else
      {
          console.log("failed to load");
          return false;
      }
}
});
于 2013-03-28T11:58:30.563 回答
1

您可以只检查虚假 值:

  if (msg.Text) {
     ...
  } else {
     ...
  }
于 2013-03-28T12:00:50.930 回答
1

您可以检查响应的长度:

$.ajax({
    async: true,
    url: url,
    type: "GET",
    data: params,
    success: function (msg) {
        if (msg.Text != undefined) {
            if (msg.Text.Length > 0) {
                $('#mediumText').val(msg.Text).blur();
            } else {
                console.log("failed to load");
                return false;
            }
        } else {
            console.log("failed to load");
            return false;
        }
    }
});
于 2013-03-28T11:47:52.997 回答