javascript - JS 中定义 API 有什么好的缩写方式嘛?
巴扎黑
巴扎黑 2017-04-10 18:10:18
[JavaScript讨论组]
// 全局 API 定义
apiDomain = '//example.com/'
api = {
  user: {
    regist: apiDomain + 'user/regist',
    login: apiDomain + 'user/login',
    validateEmail: apiDomain + 'user/validateEmail'
  }
}

感觉这种重复性很高的,有什么方法可以简写这种定义 API 嘛?

巴扎黑
巴扎黑

全部回复(3)
高洛峰

ajax的时候不是要填写url吗?你写一个公用的ajax,然后在ajax的时候域名+url即可

怪我咯

你可以定义一个函数来处理嘛。

// 全局 API 定义
var apiDomain = '//example.com/'

function finalAPI( dest ) {
    return apiDomain + dest;
}

这样,你的API就可以向下面这样定义了:

api = {
  user: {
    regist: 'user/regist',
    login: 'user/login',
    validateEmail: 'user/validateEmail'
  }
}

每次使用的时候,只需要传入对应的API就可以了。

黄舟

倒是推荐你把api相关的封装在一个对象里,减少全局变量,给你推荐一种思路吧,也是我一直使用的方式,代码很简单

var API = {
    domain: function() {
        return 'domain.com';
    },
    getUrl: function(url) {
        return this.domain() + url;
    },
    user: function() {
        return {
            login: this.getUrl('/login')
        };
    }
};

console.log(API.user().login);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号