【问题标题】:JQuery .get not working when in external js file?JQuery .get 在外部 js 文件中不起作用?
【发布时间】:2011-10-18 17:18:15
【问题描述】:

我正在尝试清理我网站上的 html 代码,因此我将 jquery 代码移到了外部 js 文件中。几乎所有东西都像以前一样工作,只有一个 .get 函数停止工作。

$("#sle").live("click", function() {

    $.get("index.php", function(data){
        alert("Data Loaded: " + data);
    });


}); 

有什么想法吗?

【问题讨论】:

  • 打开浏览器的控制台,看看有没有错误。
  • 这就是它返回的内容:dropdown.js:Uncaught TypeError: Object function $(id) { return document.getElementById(id); } 没有“get”方法
  • 如果你还没有,请看我的回答。

标签: jquery get


【解决方案1】:

这是因为 index.php 的相对位置发生了变化。它现在可能类似于 ../somefolder/index.php

【讨论】:

  • 文件都在同一个文件夹中
【解决方案2】:

你缺少 jquery 库

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 

【讨论】:

  • 文件都在同一个文件夹中
  • 你缺少 jquery 库
  • 为什么选择 jQuery 1.5?这是一个随机版本的建议。
  • html页面包含jquery,我只贴了js文件的代码
【解决方案3】:

打开浏览器的控制台,看看是否有任何错误。 – Matt Ball 8 分钟前


这就是它返回的内容:dropdown.js:Uncaught TypeError: Object function $(id) { return document.getElementById(id); } 没有方法 'get' – Manuel 3 分钟前

页面缺少 jQuery,或者另一个名为 $ 的函数正在隐藏 jQuery。

尝试用jQuery替换替换$

jQuery("#sle").live("click", function() {
    jQuery.get("index.php", function(data){
        alert("Data Loaded: " + data);
    });
});

但是,如果您评论的错误仅在您尝试在控制台中使用$.get() 时出现,那么您可能会遇到this issue in Google Chrome

【讨论】:

    【解决方案4】:

    您可能需要使用jQuery.ready() 函数,如下所示:

     $(document).ready(function(){
        $("#sle").live("click", function() {
            //your code here...
            $.get("index.php", function(data){
                alert("Data Loaded: " + data);
            });
        }); 
    
     });
    

    还是一样的

    $(function() {})
    

    【讨论】:

    • 这不是问题的根源,使用.live()时也不太担心。
    猜你喜欢
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    相关资源
    最近更新 更多