您的位置:首页 > 移动开发

[APP开发技巧] 【分享】JS通过Ajax调用数据云API的REST接口的方法

2017-10-19 09:24 816 查看
假设我们的问题是:1、要查询叫XXX_class的类,该类有名为xxx的pointer型字段指向另外一个class;
2、查询条件是yyy字段的值等于paraVal;
3、查询结果按createdAt倒序排列(最常用的形式);
4、数据分页要求:每页limit条,当前第page页

用JS通过Ajax调用数据云API的REST接口获取数据的方法如下(已包含必要的解释):

   var appId = 'X0000000000000'; 

        var appKey = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';

        var host = 'https://d.apicloud.com';

        var now = Date.now();

        var AppKey = hex_sha1(appId + "UZ" + appKey + "UZ" + now) + "." + now; //调用hex_sha1函数要先包含附件的sha1.js文件

        var appPath = '/mcm/api/XXX_class';  //XXX_class是你要查询的类

        var getParam = '?filter[order]=createdAt DESC'; //此处不必用%20替换空格,正序则用ASC

        getParam += '&filter[where][yyy]=' + paraVal; //查询条件

        getParam += '&filter[limit]=' + limit;  

        getParam += '&filter[skip]=' + page*limit; //limit和skip一起定义数据分页

        getParam += '&filter[include]=xxxPointer'; //xxx为pointer字段,则包含时要用xxxPointer,查询结果中名称仍然是xxx,这里要注意

        api.ajax({

            url: host + appPath + getParam,

            method: 'get',

            cache: false,

            timeout: 20,

            dataType: 'json',

            returnAll:false,

            headers:{

                "X-APICloud-AppId": appId,

                "X-APICloud-AppKey": AppKey

            }  //通过头信息进行认证

        },function(ret,err){

            if (ret) {

                api.alert({msg: JSON.stringify(ret)});

            }else {

                var err_msg = '错误码:'+err.code+';错误信息:'+err.msg+'网络状态码:'+err.statusCode;

                api.toast({msg: err_msg, location: 'middle'});

            };

        });

复制代码
转自http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=1296
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: