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