尝试处理 /view/ajax 时出错:无法读取未定义的属性“长度”

Posted

技术标签:

【中文标题】尝试处理 /view/ajax 时出错:无法读取未定义的属性“长度”【英文标题】:An error occurred while attempting to process /view/ajax: Cannot read property 'length' of undefined 【发布时间】:2017-07-20 00:14:47 【问题描述】:

当我更改选择列表上的值时,在 Drupal 视图公开过滤器上出现此错误。尝试了 jquery 和 jquery UI 的每种组合。跟踪调用堆栈到 misc/ajax.js:

Error
    at alert (<anonymous>:4:15)
    at Drupal.ajax.eventResponse (ajax.js?v=7.36:262)
    at htmlInputElement.<anonymous> (ajax.js?v=7.36:178)
    at HTMLInputElement.dispatch (jquery.min.js?v=1.10.2:5)
    at HTMLInputElement.v.handle (jquery.min.js?v=1.10.2:5)
    at Object.trigger (jquery.min.js?v=1.10.2:5)
    at HTMLInputElement.<anonymous> (jquery.min.js?v=1.10.2:5)
    at Function.each (jquery.min.js?v=1.10.2:4)
    at $.fn.init.each (jquery.min.js?v=1.10.2:4)
    at $.fn.init.trigger (jquery.min.js?v=1.10.2:5)

【问题讨论】:

您没有提供足够的信息让我们提供帮助。更改选择元素时不应触发 Ajax。默认情况下,它仅在提交公开的表单时触发。您是否有任何模块或自定义代码来操作公开的表单? 视图已启用 ajax。因此,当您从公开的过滤器选择列表中选择一个选项时,将调用 ajax 以使用新条件填充块。 就像我说的,据我所知,即使启用了 ajax,当按下提交按钮时,暴露的表单也会提交。如果它在选择更改事件上提交,那么它不是默认行为,并且正在改变它。为您的问题添加更多细节,因为现在几乎不可能为您提供帮助。 您可以在暴露的表单设置中隐藏提交和自动提交:i.imgur.com/a5KrACS.png 哦,你是对的,对不起。如果没有更多信息,仍然无法提供更多帮助。您发布的内容是在 js 控制台中打印的内容吗?没有看到 js alert 弹窗吗? 【参考方案1】:

我想通了——这是我的一些应用程序代码更改了数组原型。创建“比较”数组​​原型基本上会破坏 ajax/views 功能。

【讨论】:

以上是关于尝试处理 /view/ajax 时出错:无法读取未定义的属性“长度”的主要内容,如果未能解决你的问题,请参考以下文章

将结果写入存储以供查询时出错。无法读取未定义的属性“查询”

尝试使用主题测试样式化组件时出错

当不应该在 discord.js 命令处理程序中未定义时,无法读取未定义的属性

TypeError:无法读取未定义的属性“标题”

Nodejs Promise TypeError:无法读取未定义的属性'then'

无法使用 Ngrx 读取未定义的属性“firebaseApp”