【问题标题】:Uncaught TypeError: Object #<Object> has no method 'ajax'未捕获的类型错误:对象 #<Object> 没有方法 'ajax'
【发布时间】:2014-03-02 08:27:36
【问题描述】:

当我尝试在我的 Wordpress 网站上初始化 quoteResults Javascript 函数时,我在控制台中收到以下错误:

Uncaught TypeError: Object #<Object> has no method 'ajax' 

我用过:

jQuery(document).ready(quoteResults);

调用 quoteResults 函数,它工作得很好。但是,一旦我尝试使用另一种方法触发它,它就会失败(我也尝试过 .click,同样的问题)。

jQuery( '#filter input' ).change(quoteResults);
function quoteResults($) {
    $.ajax({
        url: '<?php echo get_template_directory_uri() ?>/api/json.file.php',
        data: "",
        dataType: 'json',
        success: function(data) { }
    });
};

【问题讨论】:

  • $ 指的是什么?请参阅使用:jQuery 代替
  • console.log($) 会告诉你为什么它不起作用。 $ 将是一个事件对象,而不是一个 jQuery 对象。还没准备好。
  • 你为什么犯错$
  • 我不正确地实现了 $ 以为我可以这样使用它来避免在函数内部将 $ 更改为 jQuery。我的错。谢谢你们的帮助。

标签: javascript jquery ajax methods typeerror


【解决方案1】:

去掉$参数,

 function quoteResults() {

使用jQuery 代替$,例如

jQuery.ajax({

【讨论】:

  • 我删除了 $ 参数,现在我在控制台中得到了这个:Uncaught TypeError: Cannot call method 'ajax' of undefined
  • @DEUTSCHWULF,使用jQuery 代替$,例如jQuery.ajax
  • 哇,用 jQuery 替换 $ 成功了。我认为使用 $ 参数会做同样的事情。谢谢!
猜你喜欢
  • 2014-01-08
  • 2013-04-19
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多