ajax.service.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. *封装的ajax函数
  3. * Created by ZHJY on 2020/06/03.
  4. * @param option.type 请求类型 get 和 post
  5. * @param option.json 数据请求方式,
  6. * @param option.url(必选) 请求的url地址 相同域名下的页面(此函数不支持跨域请求)
  7. * @param option.data(必选) 请求协带的参数 以js对象的形式定义,如:{name:'张三'}
  8. * @param option.replace 是否更新续签
  9. * @param option.mask 是否使用模态层加载动画
  10. */
  11. var Http = {
  12. AjaxService : function(option){
  13. var NODE_ENV_BASE_URL = $("#spiServer").val();
  14. if(option.isHost){
  15. NODE_ENV_BASE_URL = $("#coreServer").val();
  16. }
  17. var REV_TOKEN_ENV = '',REV_TOKEN_USERID='';
  18. var GET_LOGIN_STAUS = JSON.parse(window.localStorage.getItem("userInfo"));
  19. if (GET_LOGIN_STAUS != null) {
  20. REV_TOKEN_ENV = GET_LOGIN_STAUS.token;
  21. REV_TOKEN_USERID = GET_LOGIN_STAUS.userID;
  22. }else{
  23. REV_TOKEN_ENV = 'X-token'
  24. }
  25. var loading = '';
  26. var def = $.Deferred();
  27. $.ajax({
  28. url: NODE_ENV_BASE_URL + option.url,
  29. data: option.data,
  30. xhrFields: {//此处为跨域后台保持session一致,切勿删除!!!
  31. withCredentials: true
  32. },
  33. type: option.type,
  34. dataType: "json",
  35. headers: { 'X-Token': REV_TOKEN_ENV },
  36. async:false,
  37. contentType: option.json ? 'application/json;charset=UTF-8' : 'application/x-www-form-urlencoded',
  38. beforeSend:function () {
  39. // if (option.mask) {
  40. // loading = layer.load(0,{shade: [0.1,'#000']}); //0.1透明度的白色背景
  41. // }
  42. }
  43. }).then(function(res) {
  44. if(res.code== -99){
  45. CAIMEI.Storage.clear();
  46. setBeforeUrl();
  47. // location.href = "/login.html";
  48. }else{
  49. def.resolve(res);
  50. }
  51. }, function(error) {
  52. console.log('网络请求超时,请重试~');
  53. def.reject(error);
  54. });
  55. return def;
  56. },
  57. uploadImage : function(option,callback) {//上传图片
  58. var NODE_ENV_BASE_URL = $("#spiServer").val();
  59. // var NODE_ENV_BASE_URL = 'https://spi-b.caimei365.com';
  60. $.ajax({
  61. url: NODE_ENV_BASE_URL + option.url,
  62. type: 'POST',
  63. cache: false,
  64. data: option.data,
  65. processData: false,
  66. contentType: false,
  67. dataType: "json",
  68. success: function (res) {
  69. callback(res)
  70. },
  71. error: function (xhr, type, errorThrown) {
  72. console.log("照片上传失败")
  73. }
  74. });
  75. }
  76. };