jQuery Ajax 同步执行与自定义错误处理详解

作者:开源拾贝时间:2026-10-27 16:38:27浏览:204

本文详解如何在 jQuery Ajax 中通过设置 async 为 false 实现同步请求,确保多个 Ajax 按顺序执行。同时介绍如何在服务端通过设置 StatusCode 为 500 并写入特定内容,在前端 error 回调中获取并展示自定义错误信息,适用于需要严格执行顺序及自定义错误反馈的场景。

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,
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;\n 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("请输入用户名");
            }

文件下载:

download
作者最新文章