jQuery.ajax 根据不同的Content-Type做出不同的响应

使用H5+ASP.NET General Handler开发项目,使用ajax进行前后端的通讯。有一个场景需求是根据服务器返回的不同数据类型,前端进行不同的响应,这里记录下如何使用$.ajax实现该需求。

$.ajax({
    'url': 'GetWatermarkInfo.ashx',
    'type':'post',
    'data': { 'bgstyle': bgstyle, 'watermark': watermark },
    success: function (data, status, xhr) {
        //使用XMLHttpRequest对象的getResponseHeader方法来获取content-type信息
        var ct = xhr.getResponseHeader("content-type") || "";
        if (ct.indexOf('application/json') > -1) {
            if (data.Status == 'error') {
                alert(data.Message);
            }
            else if (data.Status == 'ok') {
                $('#watermarkImg').attr('src', 'GenerateWatermark.ashx?bgstyle=' + bgstyle + '&watermark=' + watermark);
            }
            else {
                alert('unknown error!');
            }
        }
        else {
            alert('unexpectecd content-type!');
        }
    },
    error: function (message) {
        alert('error: ' + message);
    }
})

参考文章:

Ajax Content Type Handling in jQuery
jQuery.ajax() | jQuery API Documentation

版权声明

本文为作者原创,版权归作者雪飞鸿所有。 转载必须保留文章的完整性,且在页面明显位置处标明原文链接

如有问题, 请发送邮件和作者联系。

原文地址:https://www.cnblogs.com/Cwj-XFH/p/6026820.html