【问题标题】:Accessing jQuery returned value访问 jQuery 返回值
【发布时间】:2015-04-30 16:36:45
【问题描述】:

我正在尝试访问返回的值并添加.contains 的检查,以便我可以知道是否需要重新加载页面。我一直在尝试执行以下操作:

alert(msg.d);
if(msg.d.contains("deleted"))
    location.reload();

返回的对象是一个字符串。

它确实向我显示了警报消息,但在必要时不会重新加载页面。我是不是做错了什么?

【问题讨论】:

  • msg.d.indexOf("deleted") > -1
  • 那么,您在调试代码时发现了什么?你有错误吗?
  • 您是否希望为 msg.d 返回一个数组或对象?
  • 另外,不知道msg.d的数据类型/值是什么,你得到的每一个答案都只是猜测。
  • @FelixKling - 暗示deleted 是返回对象的顶级属性,但您是正确的,OP 没有指定返回对象的层次结构。

标签: javascript c# jquery asp.net webmethod


【解决方案1】:

没有.contians()方法,需要使用String.prototype.indexOf()

indexOf() 方法返回调用 String 对象中第一次出现指定值的索引,从 fromIndex 开始搜索。如果未找到该值,则返回 -1。

代码

if(msg.d.indexOf("deleted") > -1)
    location.reload();

【讨论】:

  • @OmerAviv - indexOf() 是 ECMA-Script 5 和更高版本的构造,因此如果您需要支持 ES5 之前的浏览器(IE 8 或更早版本),那么您可以使用类似的 polyfill here.
【解决方案2】:

使用 JavaScript 的 hasOwnProperty 函数,像这样:

if(msg.d.hasOwnProperty("deleted") {
    location.reload();
}

【讨论】:

    【解决方案3】:

    你可以试试这样的:

    if( /deleted/.test(msg.d) ) {
        location.reload();
    }
    

    【讨论】:

      猜你喜欢
      • 2011-03-13
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 2018-09-16
      相关资源
      最近更新 更多