(function($) {
var _ajax = $.ajax;
$.ajax = function(url, opt){
layer.load(2);
if("object" == typeof url) {
opt = url;
} else {
opt = {url: url};
}
opt.cache = opt.cache || true;
opt.type = opt.type || 'post';
opt.data = opt.data || {};
opt.dataType = opt.dataType || 'JSON';
var fn = {
error: opt.error,
success:opt.success
};
opt.error = function(XMLHttpRequest, textStatus, errorThrown) {
layer.closeAll('loading');
if(fn.error) {
fn.error(XMLHttpRequest, textStatus, errorThrown);
} else if(XMLHttpRequest.message){
layer.alert(XMLHttpRequest.message);
} else {
layer.alert("超时或系统异常");
}
};
opt.success = function(data, textStatus, jqXHR) {
layer.closeAll('loading');
if(fn.success) {
fn.success(data, textStatus, jqXHR);
} else if(data.message) {
layer.msg(data.message, {time:2000});
} else if(opt.statusCode == 200) {
layer.msg('操作成功', {time:2000});
}
};
return _ajax(opt);
};
})(jQuery);
注:
1.此方法在引入jquery后调用
2.layer是一个比较好用的弹出层框架
3.网上搜到的很多都没有完全支持原生的ajax,如必须在_ajax(opt)前加return,如果不加$.load()方法就会报错。
分享到:
相关推荐
// 重写$.ajax方法 $.ajax = function(setting) { // 增加计数器 ajaxCount++; // 获取原有的complete回调 var cb = setting.complete; // 设置新的complete回调,包括原有回调和减少计数器的逻辑 setting....
在Ajax进行后台数据请求的过程中,我们有时候会希望用户能知道页面后台还在做一些事情,这时候就需要给用户一个非常明确的提示,也就是我们所谓的进度条 ...$.ajaxSetup({ beforeSend: function () { //ajax请求之前 }
ajax重写,重写jquery的ajax方法,自动增加加载状态,跨域修改等
if ($.alerts.dialogClass) $("#popup_container").addClass($.alerts.dialogClass); var pos = ($.browser.msie && parseInt($.browser.version) == 6) ? 'absolute' : 'fixed'; $("#popup_container").css({ ...
// 重写ajax方法,先判断登录在执行success函数 $.ajax = function (opt) { var _success = opt && opt.success || function (a, b) { }; var _opt = $.extend(opt, { success: function (data, textStatus) { try {...
$.ajax()是一个更为灵活的方法,可以同时支持GET和POST等多种请求方式: ```javascript $.ajax({ url: "path/to/resource", type: "POST", data: { param1: value1 }, success: function(data) { // 处理响应...
在JavaScript中,最常用的库是jQuery的$.ajax()方法,以及现代浏览器原生支持的fetch API。除此之外,还有许多其他库,如axios和superagent,它们提供了类似的接口。 为了全局拦截Ajax请求,我们需要关注两个关键点...
- **发送请求**:使用jQuery的Ajax方法,如`$.ajax()`,设置URL指向Servlet的路径,指定请求类型(GET或POST),以及要发送的数据。 - **接收请求**:在Servlet中,重写`doGet()`或`doPost()`方法,通过`request`...
在前端,我们需要重写Ajax请求以处理特定的HTTP状态码。通常,当我们发送一个Ajax请求时,我们关注的是成功的200状态码或者错误状态码如404或500。但在需要用户登录的场景下,服务器可能会返回一个非200的状态码,...
在jQuery中,$.ajax()方法是进行AJAX请求的核心函数,它可以实现异步数据获取与页面更新。 【AJAX使用】在jQuery中,使用AJAX通常包括以下步骤: 1. 引入jQuery库:确保HTML文件中包含了jQuery库,通常通过CDN链接...
- **$.fn.extend()**:扩展jQuery对象,增加新的方法或重写已有的方法。 - **$.get() 和 $.post()**:简化的GET和POST AJAX请求。 - **$.getJSON()**:专门用于获取JSON数据的AJAX方法。 - **$.grep()**:根据指定...
3. **重写Ajax**: 当使用Ajax请求时,前端也需要配合后端的过滤器处理Session超时的情况。可以重写jQuery的`$.ajax`函数,添加一个自定义的逻辑。在原生的`$.ajax`方法中,我们可以添加一个错误处理函数,当收到...
使用`$.ajax()`或`$.post()`(jQuery提供的便捷方法)发送POST请求到Servlet,将用户选择的商品信息(如商品ID、数量等)发送到服务器。例如: ```javascript $.ajax({ url: '/add-to-basket', type: 'POST', ...
var _ajax = $.ajax; ``` 接着,我们开始重写`ajax`方法。在这个新的`ajax`方法中,我们首先定义了一个`_success`变量,用于存储原本的`success`回调函数: ```javascript var _success = opt && opt.success || ...
- **AJAX**:$.ajax()或$.get()、$.post()方法用于异步数据交换,增强用户体验。 - **DOM操作**:如$.append()、$.html()、$.attr()等,用于动态修改HTML结构和属性。 - **动画效果**:$.fadeIn()、$.slideUp()等...
jQuery.switchPage.js 知识点 ...例如 $.Ajax() 、 $.extend() 方法 二、对象级别组件开发:即挂在jQuery原型下的方法,这样通过选择器获取的jQuery对象实例也能共享该方法,也称为动态方法。 $.fn.foo
数据可以通过AJAX请求获取,使用jQuery的`$.ajax`或`$.getJSON`方法。 例如,假设我们有一个名为`AutoCompleteService.asmx`的Web服务,其方法`GetSuggestions`接收一个输入参数并返回JSON数组: ```javascript $....
总结起来,本实例通过重写`$.ajax`方法实现了Ajax请求的自动拦截和数据下载,涉及了jQuery的Ajax方法、Blob对象、URL对象以及自定义命名空间等JavaScript技术。通过理解这些知识点,开发者可以更好地控制和扩展Ajax...
这可能涉及到JavaScript中的Ajax请求,或者在服务器端使用异步处理技术。 6. **响应式设计**:为了适应不同设备和屏幕尺寸,分页控件需要具备响应式设计。NikeBoyPagerDemo可能展示了如何让分页控件在桌面、平板和...
5. **Ajax支持**:jQuery提供了丰富的Ajax接口,包括`$.ajax()`、`$.get()`、`$.post()`等,这些方法极大地简化了异步请求的过程。 #### Ajax与JSON详解 Ajax(Asynchronous JavaScript and XML)是一种在无需重新...