菜鸟jquery求救!!

wang_liran 发布于 2013/08/16 16:07
阅读 404
收藏 0

刚开始研究jquery,现在遇到如下问题,以下是chrome报错:

$ . ajax ({
Uncaught TypeError: Object function $(){var elements=new Array();for(var i=0;i<arguments.length;i++) {var element=arguments[i];if(typeof(arguments[i])=='string'){element=document.getElementById(arguments[i]);}if(arguments.length==1){return element;}elements.Push(element);}return elements;} has no method 'ajax' (repeated 2 times)
url : 'getStore' ,
type : 'post' ,
data :{ storename : '12313' },
dataType : 'json' ,
success : function ( data , textStatus ){
alert ( "请求成功" );
if ( data . result == 'failed' ){
$ ( ".error" ). text ( data . errorMsg );
}
else if ( data . result == 'success' ){
$ ( ".error" ). text ( "" );
}
},
error : function (){
alert ( "请求错误" );
}
});
看报错的意思是我没有ajax这个方法,我引用的Jquery版本是 jquery-1.7.2.min.js我去这个jquery包里找了,确实存在ajax无误, 语法不应该存在问题,因为我拷贝到w3cschool的测试文本框里边,运行代码正常执行,正常 alert ( "请求错误" );

请问我该怎么解决?


加载中
0
Narky
Narky
你的 $ 被别的什么js污染了吧
Narky
Narky
回复 @wang_liran : http://blog.endlesscode.com/2010/01/23/javascript-prototype-chain/ 看看这篇文章,大概就能有点了解了
wang_liran
wang_liran
怎么解释,我是菜鸟,麻烦详细说说
Narky
Narky
回复 @wang_liran : 估计是那个js里面污染了prototype原型链
wang_liran
wang_liran
污染倒不是,是有一个js文件本身有问题,所以出现这种情况,但是那个js文件和这个没有半毛钱关系,不知道为什么会冲突
0
wang_liran
wang_liran
我把w3cschool的jquery.js文件copy下来然后外链之,发现依然报错,应该可以排除是jquery库的问题
0
mark35
mark35
楼主代码用的是全角标点符号?
wang_liran
wang_liran
应该没有输错的,因为同样的代码复制粘贴到w3cshool文本编辑框内运行一样也是可以运行成功的,就是自己这里不行
0
-Jw-
-Jw-
你有看到发送出了请求么 请求返回了什么状态码
wang_liran
wang_liran
回复 @-Jw- : 我换了jquery-1.10.2.min.js,jquery-2.0.3.min.js,还有w3cschool的jquery.js,全部都报错,我觉得不是版本问题
-Jw-
-Jw-
回复 @wang_liran : 你换个jquery的版本试试
wang_liran
wang_liran
回复 @-Jw- : 是复制的
-Jw-
-Jw-
回复 @wang_liran : 你这段代码是复制的么
wang_liran
wang_liran
我查看过,并没有任何的请求,但是w3cschool就能请求到位
0
Beyond-Bit
Beyond-Bit

$(document).ready(function(){

    $("#ButtonId").click(function(){

        var str='{"param1":"hello"}';
        $.ajax({
            url:'你的url',
            type:'post',
            dataType:'json',
            data:"filterParam="+str,
            error:function(){
                alert('error');
            },
            success:function(data){
                //alert('success');
                $("#showData").append(''+data.Hello+'');
                //alert(data.Hello);
                }
            })

})

})

Beyond-Bit
Beyond-Bit
你用firefox调试看看报哪个错误?error info贴上来、你的后台有木有报错?后台是否有响应数据给前台?
wang_liran
wang_liran
这个我试过了,一样报错
0
wang_liran
wang_liran
各位,我找到问题了,原来是一个js文件冲突了,删掉之后就正常运行了,虽然我没看懂那个js文件什么意思,但是谢谢各位啦!!
0
开源无憾
开源无憾
js就这点不好,好多错误浏览器都不会直接提示。
wang_liran
wang_liran
对,查错很费力,我被jq虐惨了
0
wang_liran
wang_liran

引用来自“Narky”的答案

你的 $ 被别的什么js污染了吧

貌似真的跟你说中了,可能是污染,我查了问题在这,这个代码不是我写的,我复制粘贴的,看不明白啊,这是啥意思?求指导

wang_liran
wang_liran
回复 @Narky : 你这答案靠谱,可是现在源码暂时不在我这,我有机会改改试试
要吃九个橙子
要吃九个橙子
你在浏览器输入URL的地方输入 javascript:alert($); 看看打印出来的是什么..
Narky
Narky
这是定义了一个方法,模仿jquery的选择器,返回选择的元素。和jquery的$重名了。其实你把上面的$.ajax 改成 jQuery.ajax 也可以运行
0
要吃九个橙子
要吃九个橙子
只接F12打开开发者工具,然后执行ajax事件看下有没 ajax请求,如果有就可以排除$.ajax不存在的可能性了.
wang_liran
wang_liran
我打开开发工具看过,没有ajax请求
0
lee123lee
lee123lee
你除了引入jquery还有没有导入其他的?
wang_liran
wang_liran
没了,只用jquery
返回顶部
顶部