首次创建JavaScript API

Gri*_*iff 5 javascript api jquery

我是第一次为响应式网页/ Web应用程序(移动设备)创建商业API.

我是新人,可悲的是,独自工作以及Javascript的新手(冗长复杂的故事).

我只是想知道这个行业的某个人是否可以就以下格式的"获取"电话提供他们的专业意见:

var getSample = function(params) {
    //Returns Object
    return $.ajax({ 
        url: URL + 'downloadQuadrat.php',
        type: 'GET',
        data: { 'projectID': params.pid, 'quadratID': params.qid },
        dataType: dataType
    });
}
Run Code Online (Sandbox Code Playgroud)

功能调用:

var printList = function(lid,options,get) {
    var list = $("ul#"+lid);
    var promise = get(options);

    promise.promise().then(
        function(response) {
            var items = response;
            list.empty();

            $.each(items, function(item,details) {
                var ul = $('<ul/>');
                ul.attr('id', lid+'_'+details.ID);
                var li = $('<li/>')
                .text(details.ID)
                .appendTo(list);
                ul.appendTo(list);

                $.each(details,function(key,value) {
                    var li = $('<li/>')
                    .text(key+': '+value)
                    .appendTo(ul);
                });
            });
        }
    );
}
Run Code Online (Sandbox Code Playgroud)

任何输入或指导将非常感激.

Pet*_*son 3

我本身不是该行业的专业人士,但我认为有一些事情可以改进您的代码:

  • 根据通用约定对其进行格式化。如果没有适当的缩进,很难看出代码在做什么。
  • 只需使用$("#"+lid)而不是$("ul#"+lid). 开头ul的 不会添加任何歧义,因为id属性必须是唯一的,并且只会使解析时间更长。
  • 在这种情况下放弃本地存储。并非所有浏览器都支持它,据我所知,您在这里不需要它。直接使用响应返回的数据即可。

以下是我更改您的代码的方法:

var printList = function(lid, options, get) {
    var promise = get(options);
    var list = $("#" + lid);

    promise.success(function(response) {
        var data = response;
        list.empty();
        $.each(data, function(item, details) {
            var ul = $('<ul/>').attr('id', lid + '_' + details.ID);
            var li = $('<li/>').text(details.ID).appendTo(list);
            ul.appendTo(list);
            $.each(details, function(key, value) {
                var li = $('<li/>').text(key + ': ' + value).appendTo(ul);
            });
        });
    });
}
Run Code Online (Sandbox Code Playgroud)

编辑:你的代码的编辑版本对我来说看起来很好,除了一些小ul#事情。