博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ajax的封装
阅读量:4552 次
发布时间:2019-06-08

本文共 2509 字,大约阅读时间需要 8 分钟。

通过对ajax方法的封装,可以进一步简化ajax调用,方便统一管理路径。

var util = {};util.RequesterClass = function() {    this.send = function(p_options) {        var defaultOptions = {            type : "POST"        };        var options = $.extend({}, defaultOptions, p_options);        var params = options.params;        if (options.params != null && options.type == "POST") {            if (isPlainObject(options.params)) {                params = JSON.stringify(options.params);            }        }        var url = getRequestPath(options.path);        $.ajax({            url : url,            data : params,            type : options.type,            contentType : "application/json; charset=utf-8",            beforeSend : _beforeSend        }).done(function(p_result) {            if (isFunction(options.complete)) {                if (isPlainObject(p_result)) {                    options.complete(false, p_result);                } else {                    options.complete(true, p_result);                }            }        }).fail(function(p_request, textStatus, errorThrown) {            var error = new Error("Error when accessing " + url);            error.method = p_request.method;            error.responseText = p_request.responseText;            error.responseStatus = p_request.status;            error.internalError = errorThrown;            if (isFunction(options.complete)) {                options.complete(false, error);            }        });    };        function getRequestPath(p_path) {        var url = "http://10.128.174.26:8000/";// http://10.128.174.26:8000/UTM/v0/        return url + p_path;    }        function _beforeSend(p_request, p_options) {//        var user = jQuery.sap.getObject("user");//        if (typeof (user) != undefined && user != null) {
// p_request.setRequestHeader("AccessToken", user.AccessToken);// } }};util.Requester = new util.RequesterClass();

封装的util.Requester方法需要调用的其他方法

function isPlainObject(p_value) {    return $.isPlainObject(p_value);}function isFunction(p_value) {    return typeof (p_value) == "function";}

测试范例

util.Requester.send({            path : "UTM/v0/",            params : {},            complete : function(p_successful, p_result){                if(p_successful) {                    sap.m.MessageBox.alert(p_result);                    }                else {                    sap.m.MessageBox.alert(p_result.message);                    }            }        });

 

 

 

转载于:https://www.cnblogs.com/SherryIsMe/p/3488945.html

你可能感兴趣的文章
软件架构(体系结构,Architecture)和软件框架
查看>>
阶梯博弈(没怎么搞懂)
查看>>
python request post请求body中有json数组
查看>>
IDT hook KiTrap03
查看>>
字节对齐
查看>>
使用Python SocketServer快速实现多线程网络服务器
查看>>
离散数学
查看>>
外观模式理解和示例
查看>>
IDEA远程仓库版本回滚
查看>>
C++矩阵库 Eigen 简介(转载)
查看>>
sklearn的train_test_split()各函数参数含义解释(非常全)
查看>>
机器学习算法的整体流程(非常易懂)
查看>>
机器学习梯度下降法的数学原理(非常易懂)
查看>>
数据归一化Scaler-机器学习算法
查看>>
机器学习线性回归算法的评价指标(简单线性回归问题)
查看>>
教你如何剖析源码(转)
查看>>
proxy和proxy-no的策略取值区别
查看>>
Silverlight代码编写对控件的PlaneProjection.RotationY属性控制动画
查看>>
AFNetworking
查看>>
unity3d Start执行不同时问题
查看>>