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

版权声明

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网开发者交流社区

SpringBoot的日志

9920
来自专栏jiajia_deng

RESTful API 调试工具 insomnia

14550
来自专栏Petrichor的专栏

pycharm: 配置远程repo

10920
来自专栏python3

Centos7 安装python虚拟环境+Django

鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和...

30120
来自专栏实用工具入门教程

如何部署 Bacula Server

Bacula是一种开源网络备份解决方案,允许您创建备份并执行计算机系统的数据恢复。它非常灵活和强大,这使得它在配置时稍微麻烦,适合在许多情况下进行备份。备份系统...

46130
来自专栏机器学习从入门到成神

Spring使用外部属性文件以及常见错误(内附大量图片,很有借鉴意义)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

7410
来自专栏咖啡的代码人生

IntelliJ IDEA 使用JSTL标签库(IDEA 加载 tld文件)

这两天在 IntelliJ IDEA 中 使用 C标签(JSTL)的时候发现引入进来有问题,不但没提示而且还有红色警告,所以经过一番谷歌的查找之后解决了这个问...

72240
来自专栏云计算教程系列

如何在Fedora 22上安装LAMP(Linux,Apache,MySQL,PHP)

LAMP堆栈是一组用于启动和运行Web服务器的开源软件。首字母缩略词代表Linux,Apache,MySQL和PHP。由于服务器已经在运行Fedora,因此需要...

16120
来自专栏Java学习123

Maven学习问题解决

33180
来自专栏Hadoop实操

如何在CDH集群的非元数据库节点安装MySQL5.7.12

在CDH集群中默认使用的MySQL版本是操作系统自带的版本,一般操作系统自带的MySQL版本都会比较低,对于企业已有应用可能会用较新的MySQL版本,使用集群中...

40260

扫码关注云+社区

领取腾讯云代金券