Jquery ajax执行顺序 返回自定义错误信息
1.多个Ajax 在一个function中的执行顺序
由于Jquery中的Ajax的async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false就可以了
function
TestAjax(){
var UserName = $( " #txtUserName " ).val();
$.ajax(
{
url: " AjaxCheckUserName.htm " ,
async: false , //不能用字符串 默认是true异步执行,要想等此方法执行完返回后再往下执行其他代码的话要设置成false同步
success: function (data) {
alert(data);
}
});
alert( ' Test ' );
$.ajax({
url: " AjaxHandler.ashx " ,
async: false ,
data: " UserName= " + UserName,
success: function (data) {
$( " #divAjax " ).html(data);
},
error: function (msg) {
alert(msg.responseText);
}
});
}
var UserName = $( " #txtUserName " ).val();
$.ajax(
{
url: " AjaxCheckUserName.htm " ,
async: false , //不能用字符串 默认是true异步执行,要想等此方法执行完返回后再往下执行其他代码的话要设置成false同步
success: function (data) {
alert(data);
}
});
alert( ' Test ' );
$.ajax({
url: " AjaxHandler.ashx " ,
async: false ,
data: " UserName= " + UserName,
success: function (data) {
$( " #divAjax " ).html(data);
},
error: function (msg) {
alert(msg.responseText);
}
});
}
2. 返回自定义错误
设置 StatusCode = 500,
触发Ajax的错误(error), 在接收到数据显示自定义信息
error: function (msg) {
alert(msg.responseText);
}
context.Response.StatusCode = 500;
context.Response.Write("请输入用户名");
代码例子:
string sUserName = context.Request.QueryString[ " UserName " ];if ( ! string .IsNullOrEmpty(sUserName))
{
context.Response.Write( string .Format( " Hello {0}! " , sUserName));
}
else
{
context.Response.StatusCode = 500 ;
context.Response.Write( " 请输入用户名 " );
}