ajax提交表单 $.browser is undefined

最近开发项目要用ajax提交表单,开始使用
$.ajax({
type:'post',
url:'/article/ajaxUpdateArticle',
data:$("#form2").serialize(),
cache:false,
dataType:'json',
success:function(data){
}
});
有图片时就不能上传图片了
后来使用jquery.form.js
$("#form2").ajaxSubmit({
url: "/article/ajaxUpdateArticle",
type: "post",
enctype: 'multipart/form-data',
dataType:'json',
success: function (data){
}
})

提示这个错误 $.browser is undefined

browser就是用来获取浏览器基本信息的。

jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jquery 1.9。

解决jQuery 高版本不支持browser方法 体如下():

1.可以利用jquery 的扩展性,创建一个高版本支持browser 的 JS,具体内容如下:

[javascript] view plain copy
print?

/* 
 * jQuery Autocomplete plugin 1.1 
 * Revision: $Id: jquery-browser.js 15 2015-08-22 10:30:27Z joern.zaefferer $ 
 */  
jQuery.extend({    
    browser: function()     
    {    
        var    
        rwebkit = /(webkit)\/([\w.]+)/,    
        ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,    
        rmsie = /(msie) ([\w.]+)/,    
        rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,        
        browser = {},    
        ua = window.navigator.userAgent,    
        browserMatch = uaMatch(ua);    
    
        if (browserMatch.browser) {    
            browser[browserMatch.browser] = true;    
            browser.version = browserMatch.version;    
        }    
        return { browser: browser };    
    },    
});    
    
function uaMatch(ua)     
{    
        ua = ua.toLowerCase();    
    
        var match = rwebkit.exec(ua)    
                    || ropera.exec(ua)    
                    || rmsie.exec(ua)    
                    || ua.indexOf("compatible") < 0 && rmozilla.exec(ua)    
                    || [];    
    
        return {    
            browser : match[1] || "",    
            version : match[2] || "0"    
        };    
}    

使用时首先创建一个 browser.js文件,再将上面代码复制到这个JS文件中,使用时将browser.js引入到页面即可.

posted @ 2017-08-31 10:59  经验源于积累  阅读(551)  评论(0)    收藏  举报