html的ajax请求是开发中常用到的, 基本上会遇到一些特别的地方,就是请求需要同步,不需要异步操作,这些GET、POST和AJAX以及GETJSON等操作,都是基于ajax的请求,可以完成网页的无刷新交互,提高用户体验效果。总结了请求操作需要注意的同步和异步操作
AJAX请求
$.ajax({
type : "post", //使用提交的方法 post、get
url : "register/RegisterState", //提交的地址
data : JSON.stringify({ name:"Donald Duck", city:"Duckburg" }), //数据
async : false, //配置是否异步操作
dataType:"json",//返回数据类型的格式
success : function(data){ //回调操作
data = eval("(" + data + ")");
aDataSet = data;
}
});
具体请参考http://www.w3school.com.cn/jquery/ajax_ajax.asp
ajax请求例子
//发送ajax请求
$.ajax({
type : "post", //使用提交的方法 post、get
url : "/user/update", //提交的地址
data:JSON.stringify(dataInfo),
async : false, //配置是否异步操作
dataType:"json",//返回数据类型的格式
}).done(function ( result ) {//回调操作
//结果正常的情况
if(result.code == RESULT_OK){
reloadGrid();
}else{
//添加失败的情况,提示信息
showErrorInfo(result.msg);
}
});
getJSON
//使用
jQuery.getJSON(url,data,success(data,status,xhr))
参数 | 描述 |
---|---|
url | 必需。规定将请求发送的哪个 URL。 |
data | 可选。规定连同请求发送到服务器的数据。 |
success(data,status,xhr) | 可选。规定当请求成功时运行的函数。 |
额外的参数:
response - 包含来自请求的结果数据
status - 包含请求的状态
xhr - 包含 XMLHttpRequest 对象
例子
//设定取消异步请求
$.ajaxSettings.async = false;
//发送get请求
$.getJSON(
"test.js",
{ name: "John", time: "2pm" },
function(json){
alert("JSON Data: " + json.users[3].name);
}
);
GET&POST请求
GET请求
//使用方法
$.get(URL,callback);
参数说明
参数 | 描述 |
---|---|
url | 必需的 URL 参数规定您希望请求的 URL |
callback | 可选的 callback 参数是请求成功后所执行的函数名。 |
下面的例子使用 $.get() 方法从服务器上的一个文件中取回数据:
重点注意,配置这个,再使用post和get请求就是同步的操作了
$.ajaxSetup({
async : false
})
$.get(
"demo_test.asp",
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
}
);
POST请求
//使用方法
$.post(URL,data,callback);
参数说明
参数 | 描述 |
---|---|
url | 必需的 URL 参数规定您希望请求的 URL |
data | 参数规定连同请求发送的数据。 |
callback | 可选的 callback 参数是请求成功后所执行的函数名。 |
下面的例子使用 $.post() 连同请求一起发送数据:
$.post(
"demo_test_post.asp",
{ name:"Donald Duck", city:"Duckburg" },
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
}
);