【问题标题】:Can't understand from where this script is making ajax call (no $.ajax)无法理解该脚本从哪里进行 ajax 调用(没有 $.ajax)
【发布时间】:2018-07-19 12:37:52
【问题描述】:

我是一个使用ajax_select 自动完成的应用程序,它有其预定义的 JavaScript 文件用于自动完成,对我来说工作正常,但我还想在 ajax 调用中添加一些额外的参数,现在它正在调用 url -

/ajax_select/ajax_lookup/sizes?term=lar

但我想要的是:

/ajax_select/ajax_lookup/sizes?term=lar&filter=shoe

我尝试了很多次但无法添加额外的 para,因为我无法理解它是如何进行 ajax 调用以及它是如何传递参数的?

没有$.ajax 功能!怎么可能?

这是该js文件的完整代码:

https://github.com/crucialfelix/django-ajax-selects/blob/develop/ajax_select/static/ajax_select/js/ajax_select.js

我已经阅读了文档,因为它是一个 django 应用程序,所以有相关的注释,关于它的 JavaScript 文件的信息并不多。

我对 JavaScript 不太熟悉,谁能帮帮我?

【问题讨论】:

  • 弹窗上有一个data属性,好像是用来构建自动完成控件的数据源的。在第 169 行附近。查看标记。
  • 这更多的是“告诉我如何阅读文档,教我编写正确的代码”,这有点超出了这里的范围 - 尝试,然后发布您尝试过的内容,我们可以帮助修复它. - 发布一个完整的“工作”示例,并注明任何错误或问题。
  • 是的,是的,我已经阅读了文档,因为它是一个 django 应用程序,所以没有关于它的 JavaScript 文件的太多信息。

标签: javascript jquery html ajax django-ajax-selects


【解决方案1】:

我不知道 Django。如果我没有误会;您正在尝试向 ajax 请求添加额外的参数。 我查找了您使用的“django-ajax-selects”的 github 存储库。 作者说它取决于 repo 的自述文件中的“jQuery UI AutoComplete”。 所以你应该搜索“jQuery UI AutoComplete”。 您可以向“jQuery UI AutoComplete”添加额外的参数 请看这里; How do I pass an extra parameter to Jquery Autocomplete field? 您应该使用 jQuery UI AutoComplete 的源方法。 在此处查看 django-ajax-selects 文档以使用源方法: http://django-ajax-selects.readthedocs.io/en/latest/jQuery-plugin-options.html

【讨论】:

  • 感谢您的建议对我有帮助,我将其解决为,在更改过滤器选项时 - $("#id_sizes_text").autocomplete({source:'/ajax_select/ajax_lookup/sizes?filter='+$(this).val()}) 它正在使用 .autocomplete 进行 ajax 调用,并且正在使用加载的 DOM 初始化源,因此请更改它。
  • @PankajSharma 欢迎您。抱歉我的帖子,我没有太多时间来格式化它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-25
  • 2010-10-17
  • 2011-01-02
相关资源
最近更新 更多