ajax 跨域封装 JSONP方式 默认还是GET提交请求

来源:互联网 发布:境外直播软件下载 编辑:程序博客网 时间:2024/06/17 00:23
/**--jquery ajax请求处理插件类--**/var WebsiteAjax = {returnData:null,//获取一个实例getInstance:function(settings){/** * 默认的200回调函数(可重写和继承) */var defaultAjaxSuccessMethod = function(data,status) { alert(data.message);     return false;};var defaultAjaxCallbakErrorMethod = function(data,status) { alert(data.message);     return false;};/** * 默认的错误回调函数 (可重写和继承) 大部分错误处理都可以直接用它 * 406 为自定义错误 状态码 通常会携带个自定义的描述字符串msg * 比方说,异步请求后台判断了某个参数为空,若为空则返回 * 那么就可以将状态吗标注为406,然后弄个msg的key,value */var defaultAjaxErrorMethod = function(XMLHttpRequest, textStatus, errorThrown) {try{var e = jQuery.parseJSON(XMLHttpRequest.responseText);alert("提示:["+e.message+"]");}catch(e){alert("提示:[服务器出错]");}return false;};/** * 定义默认变量,常量  * ajaxUrl 请求的action路径,pagerUrl是分页控件本身要访问的url,可以与ajaxUrl相同 * dataParameter 需要传递的参数,这里是个默认的 */var defaultAjaxVariable = {ajaxUrl : "url", dataParameter : null,type : "POST",dataType : "text",async: false,succesMethod : defaultAjaxSuccessMethod, //默认200回调方法名称errorCallMethod : defaultAjaxCallbakErrorMethod, //默认非200jsonp回调方法名称errorMethod : defaultAjaxErrorMethod //默认非200回调方法名称};/** * 执行异步post ajax请求方法 * newsVariable 新的变量或常量 * successMethod 回调函数  返回200时  处理业务的方法名称 * errorMethod   错误回调函数  处理业务的方法名称 */var ajaxMethod = function(newsVariable){defaultAjaxVariable = jQuery.extend(true,defaultAjaxVariable, newsVariable);if(defaultAjaxVariable.dataType == "jsonp" || defaultAjaxVariable.dataType == "JSONP"){if(defaultAjaxVariable.dataParameter != null && defaultAjaxVariable.dataParameter != ""){if(typeof(defaultAjaxVariable.dataParameter) == "object"){var temp = "t=" + Math.random();for(var x in defaultAjaxVariable.dataParameter){temp += "&" + x + "=" + defaultAjaxVariable.dataParameter[x];}defaultAjaxVariable.dataParameter = temp;}else {defaultAjaxVariable.dataParameter += "&t=" + Math.random();}}else {defaultAjaxVariable.dataParameter = "t=" + Math.random();}}$.ajax({         url: defaultAjaxVariable.ajaxUrl,         type: defaultAjaxVariable.type,         async: defaultAjaxVariable.async,         data: defaultAjaxVariable.dataParameter,         dataType: defaultAjaxVariable.dataType,         success: function (data, textStatus) {if(defaultAjaxVariable.dataType == "jsonp" || defaultAjaxVariable.dataType == "JSONP"){var res = null;if(typeof(data) == "object"){res = data;}else {res = jQuery.parseJSON(data);}        if(res.status == "success"){        defaultAjaxVariable.succesMethod(res,textStatus);        }else {        defaultAjaxVariable.errorCallMethod(res, textStatus);        }         }else {         defaultAjaxVariable.succesMethod(data,textStatus);         }         },         error: function(XMLHttpRequest, textStatus, errorThrown) {         defaultAjaxVariable.errorMethod(XMLHttpRequest, textStatus, errorThrown);         }     }); };/** 加载时执行 **/ajaxMethod(settings);}};

website.ajax.js
0 0
原创粉丝点击