首页 > Web开发 > 详细

Uncaught TypeError: jQuery(...).data(...) is not a function

时间:2019-06-17 14:56:35      阅读:165      评论:0      收藏:0      [点我收藏+]

一、背景:

一直运行正确的一个ajax表单提交页面,今天报以下这个错误:

技术分享图片

 

二、问题分析:

一般出现“Uncaught TypeError”这类型的错误,有如下4个原因:

1:引入的js里面undefined未定义该函数

这种情况一般检查一下是否有改函数即可。一般更换新版本的js之后可能老版本的js方法就没有了。这个时候可以手动地把老版本的js方法加到新的版本,或者更改方法。

比如遇到过 handleError is not a function 这种情况就是这个原因。如果在jquery高级版本中将这个函数添加上 ,问题解决。

技术分享图片
; (function ($) {

            jQuery.extend({

                handleError: function (s, xhr, status, e) {

                    if (s.error) {

                        s.error.call(s.context || s, xhr, status, e);

                    }

                    if (s.global) {

                        (s.context ? jQuery(s.context) : jQuery.event).trigger("ajaxError", [xhr, s, e]);

                    }

                },

                httpData: function (xhr, type, s) {

                    var ct = xhr.getResponseHeader("content-type"),

            xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,

            data = xml ? xhr.responseXML : xhr.responseText;

                    if (xml && data.documentElement.tagName == "parsererror")

                        throw "parsererror";

                    if (s && s.dataFilter)

                        data = s.dataFilter(data, type);

                    if (typeof data === "string") {

                        if (type == "script")

                            jQuery.globalEval(data);

                        if (type == "json")

                            data = window["eval"]("(" + data + ")");

                    }

                    return data;

                }

            });[/code]
View Code

 

2:您的js文件引入路径错误了。

这个比较常见,检查引入路径是否正确即可。

3:您引入的js文件与别的js文件有冲突

这个时候就需要一个个的注释掉js文件来排查。

4:您引入的js文件顺序不对,也存在冲突,你就要调整一下引入顺序即可,或删除掉冲突的js文件,这是小编遇到的这种情况!

三、问题解决:

我的问题的原因属于第4种情况。在出问题所在的页面的模板页(master)里面引用的 jquery.form.js 这个文件和H-ui.min.js、H-ui.admin.js 冲突了。

采用的方法是把jquery.form.js 引用放到H-ui.min.js、H-ui.admin.js这两个前面

 

Uncaught TypeError: jQuery(...).data(...) is not a function

原文:https://www.cnblogs.com/sunxi/p/11039524.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!