//全局设置,ajaxComplete自1.8以后只能用于全局document对象
$.ajaxSetup({
async: false
});
$(document).ajaxStart(onStart)
.ajaxSend(onSend)
.ajaxSuccess(onSuccess)
.ajaxError(onError)
.ajaxComplete(onComplete)
.ajaxStop(onStop);
function onStart(event) {
}
function onSend(event){
xyd.pjax.animate.loading("正在加载数据...");
}
function onSuccess(event, xhr, settings) {
if(xhr.status==200){
if(xhr.responseText.indexOf("会话过期,请重新登录")>-1){
window.setTimeout(function(){
location.href="/web/login/index.html?date="+new Date().getTime();
},100);
}
}
}
function onComplete(event,xhr,settings) {
xyd.pjax.animate.close();
}
function onStop(){
}
function onError(event, xhr, settings){
if(xhr.status!==200){
var state = {
CODE400 : "服务器不理解请求的语法",
CODE401 : "请求要求身份验证",
CODE403 : "服务器拒绝请求",
CODE404 : "服务器找不到请求的网页",
CODE405 : "不允许使用请求行中所指定的方法",
CODE406 : "无法使用请求的内容特性响应请求的网页",
CODE407 : "需要代理授权",
CODE408 : "服务器等候请求时发生超时",
CODE409 : "服务器在完成请求时发生冲突",
CODE410 : "请求的资源已永久删除",
CODE411 : "需要有效长度",
CODE412 : "未满足前提条件",
CODE413 : "请求实体过大",
CODE414 : "请求的 URI 过长",
CODE415 : "不支持的媒体类型",
CODE416 : "请求范围不符合要求",
CODE417 : "未满足期望值",
CODE500 : "服务器遇到错误,无法完成请求",
CODE501 : "服务器无法识别请求方法",
CODE502 : "错误网关",
CODE503 : "服务器目前无法使用",
CODE504 : "服务器超时",
CODE505 : "服务器不支持请求中所用的 HTTP 协议版本"
};
var str = state["CODE"+xhr.status];
if(str===undefined){
str = "未知错误";
}
layer.alert(str, {icon: 1});
/* var dom = $("#body_right");
if(xhr.status==404){
dom.load("../../error/xyd_error_%.html?date="+new Date().getTime());
}else{
}
*/
}
}
var params = {};
$.ajax({
url : "/bootstrap/xyd/htmlpage/index1.html",
data : params,
type : "get",
dataType : 'text',
async : false,
success : function(result,textStatus,jqXHR){
console.info("请求成功");
//返回请求结果
console.info(result);
//提示信息
console.info(textStatus);
//返回jqXHR
console.info(jqXHR);
},
error : function(jqXHR,textStatus,errorThrown){
console.info("请求错误");
//返回jqXHR
console.info(jqXHR);
//提示信息
console.info(textStatus);
//返回错误信息
console.info(errorThrown);
}
});
ajax方法大全
方法 | 描述 |
---|---|
$.ajax() | 执行异步 AJAX 请求 |
$.ajaxPrefilter() | 在每个请求发送之前且被 $.ajax() 处理之前,处理自定义 Ajax 选项或修改已存在选项 |
$.ajaxSetup() | 为将来的 AJAX 请求设置默认值 |
$.ajaxTransport() | 创建处理 Ajax 数据实际传送的对象 |
$.get() | 使用 AJAX 的 HTTP GET 请求从服务器加载数据 |
$.getJSON() | 使用 HTTP GET 请求从服务器加载 JSON 编码的数据 |
$.getScript() | 使用 AJAX 的 HTTP GET 请求从服务器加载并执行 JavaScript |
$.param() | 创建数组或对象的序列化表示形式(可用于 AJAX 请求的 URL 查询字符串) |
$.post() | 使用 AJAX 的 HTTP POST 请求从服务器加载数据 |
ajaxComplete() | 规定 AJAX 请求完成时运行的函数 |
ajaxError() | 规定 AJAX 请求失败时运行的函数 |
ajaxSend() | 规定 AJAX 请求发送之前运行的函数 |
ajaxStart() | 规定第一个 AJAX 请求开始时运行的函数 |
ajaxStop() | 规定所有的 AJAX 请求完成时运行的函数 |
ajaxSuccess() | 规定 AJAX 请求成功完成时运行的函数 |
load() | 从服务器加载数据,并把返回的数据放置到指定的元素中 |
serialize() | 编码表单元素集为字符串以便提交 |
serializeArray() | 编码表单元素集为 names 和 values 的数组 |