第一步,这个地方如果当做一般的数据请求来看,没有什么要说的,用jquery或者zepto的ajax请求都可以很快速实现。就说一下我在这个踩的坑,我在使用ajax异步请求的时候,忽略了异步加载然而同步加载不停止的问题。深入这个话题我也还需要去学去实践,所以只是简单说明我的问题,后面会提供链接去深入学习。下面的代码,由于我没实现手机电脑联调,所以只能退而其次用alert测试,见谅。js在加载的时候,会先全部同步顺序加载,但是ajax请求不会影响同步加载,因而,会按照123的alert弹出,而非顺序弹出312。由于的我浅薄理解,导致我后面还没拿到ajax请求到的_config,就开始执行函数DDConfig(_config)配置钉钉,所以一直不弹出任何弹窗。这个问题我开始解决的方案是将这段ajax单独放在一个script标签里面,最先引入,然后再配置钉钉鉴权信息,这个在Android上测试时正常的,然而只是侥幸,iOS不买这个账。所以使用ajax的complete函数,在这里面执行DDConfig(_config),可看源代码。
var _config = null; // 定义全局变量_config,初始值为null,用来接收API获取到的签名信息
var getConfig = $.ajax({
type: 'POST',
url: '获取企业签名的API,后台提供',
data: {
agentId: 109243825,
url: '这是你开发微应用页面的线上地址,一般是由钉钉管理员配置