JQuery:$ .get不是一个函数

我在jQuery中做一些非常基本的操作时遇到了问题。 有人能告诉我,我做错了什么吗?

如果我运行下面的代码,函数$ .get似乎丢失了(getJSON和其他人也丢失了)。 但是$本身和其他函数确实存在,所以我知道JQuery正在加载。

google.load("jquery", "1.3.2"); function _validate(form, rules_file) { $.get('/validation_rules.json',function(data) { alert("hello") }) } 

任何想法将不胜感激。

谢谢,罗布

编辑:这里有一些额外的信息:

    google.load("prototype", "1.6"); google.load("scriptaculous", "1.8"); google.load("jquery", "1.3.2");   jQuery.noConflict(); // prevent conflicts with prototype      

您拥有的$变量来自Prototype-js,因为您使用的是jQuery.noConflict方法。

该方法将$ variable恢复为首先实现它的库。

您应该直接在jQuery全局对象上使用jQuery方法,例如:

 jQuery.get(/* .. */); jQuery.getJSON(/* .. */); // etc... 

或者,如果需要,您可以将另一个较短的变量定义为别名:

 var $j = jQuery.noConflict(); 

如果您使用SLIM版本的jQuery,也会发生这种情况。

  

给我

 >jQuery.get :undefined >jQuery.get() :VM7130:1 Uncaught TypeError: jQuery.get is not a function at :1:8 

在没有slim选项的情况下加载相同的库

  

效果很好

jQuery.get():Object {readyState:1}

如果指定jQuery.noConflict(),则jQuery不再提供$。 请改用jQuery.get。

您还可以将jQuery函数包装在一个闭包中,并将jQuery作为“$”符号传递,例如:

 (function($) { function _validate(form, rules_file) { $.get('/validation_rules.json',function(data) { alert("hello") }) } })(jQuery)