javascript - ajax 处理空结果,JQuery

标签 javascript jquery

如果我有来自 C# 方法的空结果,我应该使用什么。

jQuery.ajax({
        type: "POST",
        url: "Me.aspx/Load",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",

            success: function (msg) {

                    alert(msg.d);
                }

});

当为空时不发出警报。

我已经尝试过:

msg.length===0

error:

但无法使其工作。

谢谢。

最佳答案

如果结果是空字符串,那么您应该检查空字符串:

msg === ''

抱歉,更好的是:

if (msg) {...}

如果消息是不是的任何内容:

  • 0
  • ''(空字符串)
  • NaN
  • 未定义

其计算结果为true

您对服务器有何期望?

编辑:返回一个具有 success 属性的对象,如下所示:

{
    "success": true,
    ...
}

然后检查

if (msg.success) { ... do stuff ...}

重新编辑

我不知道它在 C# 中是如何工作的,但是您必须序列化您在服务器中使用的对象。假设这是您的(失败)对象:

response // and response.success = false

所以,你应该这样做:

print json_encode(response);

这样就可以返回到你的JS程序中了。

关于javascript - ajax 处理空结果,JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15314742/

相关文章:

jQuery 检查并获取子元素的属性

javascript - 序列化表单数据并将它们添加到 jquery $.post

jquery - 如何在 jQuery 中使用 css font-weight 属性为文本设置动画?正常到粗体

javascript - Vue.js:使用 axios.get 之后的方法返回图像

javascript - 在 JavaScript 中,console.log 为我提供了 for 循环中的每个值。但是 var.text 仅显示最后一个值。为什么是这样?

javascript - jQuery $() 构造函数和带有前导反斜杠的字符串

Javascript 客户端包括不注入(inject) Onclick 事件

javascript - Service worker 如何防止 'fetch' 占用过多磁盘空间?

jquery - 有没有办法将 event.preventDefault 与 focusOut 一起使用?如果没有,为什么?

javascript - 创建高度以百分比定义的可滚动内容区域时出现问题