开发者社区> 问答> 正文

今天我也遇到errorCode7 requestJsApisnot invoked


requestJsApis() not invoked,errorCode:7     dd.ready是在dd.config之后才执行 的,


dd.config() 之后执行dd.ready(){alert('env ok')}能正确弹出,证明config是成功的,环境已经准备好。

但为什么调用API会报无权呢?

但 dd.device.notification.alert 和 dd.device.notification.confirm 是可用的。

问题出在哪?

展开
收起
人在囧途 2016-06-12 12:59:45 4822 0
5 条回答
写回答
取消 提交回答
  • 回 5楼识器的帖子
    请求都注释掉之后也是直接执行的ready方法
    2016-06-13 20:21:13
    赞同 展开评论 打赏
  • 你把ajax请求都先注释掉,直接dd.config,然后看下是走了dd.ready还是dd.error

    -------------------------

    ajax去掉之后的代码是什么?看我们demo了,在我们demo基础上修改下看看好使不?https://github.com/injekt/openapi-demo-php/blob/master/corp/public/_s/demo.js

    2016-06-13 17:27:39
    赞同 展开评论 打赏
  • Re今天我也遇到errorCode7 requestJsApisnot invoked
    dd.config()全为空好像也是可以触发dd.ready(){}
    2016-06-13 09:25:42
    赞同 展开评论 打赏
  • 回 1楼injekt的帖子
    <script>
        alert(dd.version);

        var jsApiList = [
            //'runtime.info',
            //'device.notification.alert',
            // 'device.notification.confirm',
            'device.base.getUUID',
            'device.geolocation.get',
            'device.base.getInterface'
        ];
        $.ajax({
            type: 'GET',
            url: 'get_config.php',
            data: {url: this.location.href},
            dataType: 'json',
            success: function (res) {
                res.jsApiList = jsApiList;
                dd.config(res);//这里调用应该是成功的
                alert('config:' + JSON.stringify(res));//这里可以看到成功获取到完整的配置信息
            },
            error: function (xhr, type) {
                alert('Ajax error!')
            }
        });


        dd.error(function (error) {
            alert('env error');
        });

        dd.ready(function () {
            alert('env ok');
            dd.runtime.info({
                onSuccess: function (result) {
                    dd.device.notification.confirm({title: 'runtime info ', message: JSON.stringify(result)});//这里正确显示
                },
                onFail: function (err) {
                    dd.device.notification.confirm({title: 'runtime info ', message: JSON.stringify(err)});
                }
            });

            dd.device.base.getInterface({
                onSuccess: function (data) {
                    alert('device.base.getInterface ' + JSON.stringify(data));          
                },
                onFail: function (err) {
                    dd.device.notification.alert(
                            {
                                title: 'device.base.getInterface ',
                                message: JSON.stringify(err)//这里被执行了,提示errorCode7
                            }
                    );
                }
            });
            dd.device.base.getUUID({
                onSuccess: function (result) {
                    alert(JSON.stringify(result));
                },
                onFail: function (err) {
                    alert('getUUID ' + JSON.stringify(err));//这里也显示errorCode7
                }
            });

    已经配置了的。


    请教一下,dd.ready(){}  是不是只有dd.config()配置正确才会触发?
    但我测试发现并不是这样的,我不执行dd.config(),或者,我故意在服务器端砚返回
    一个不正确的配置信息,然后执行dd.config(),直接在dd.ready()里的写的代码也会被执行。
    那么,怎样判定的我dd.config()是执行正常的?

    -------------------------

    回 3楼yemxing的帖子
    那怎么确定我的问题出在哪呢。
    2016-06-12 17:40:59
    赞同 展开评论 打赏
  • 建议查下是不是在dd.config里的jsApiList中没有配置你调用的api?
    2016-06-12 17:20:49
    赞同 展开评论 打赏
问答分类:
API
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载