Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery小型重构,json调用_Jquery_Ajax_Refactoring - Fatal编程技术网

jquery小型重构,json调用

jquery小型重构,json调用,jquery,ajax,refactoring,Jquery,Ajax,Refactoring,我需要你的建议,在jquery代码中进行一些重构,因为现在它对我来说很糟糕。我有4个json调用,但区别在于URL调用 例: var userId=MyuserID; 每页风险值='45'; var showOnPage='45'; var tag='tag1'; 变量tag1=‘tag2’; 变量tag2='tagn'; $.getJSON('http://api.flickr.com/services/rest/?format=json&method='+ 'flickr.photos.se

我需要你的建议,在jquery代码中进行一些重构,因为现在它对我来说很糟糕。我有4个json调用,但区别在于URL调用

例:

var userId=MyuserID;
每页风险值='45';
var showOnPage='45';
var tag='tag1';
变量tag1=‘tag2’;
变量tag2='tagn';
$.getJSON('http://api.flickr.com/services/rest/?format=json&method='+
'flickr.photos.search&api_key='+apiKey+'&user_id='+userId'+
“&tags=”+tag+”&per_page=“+perPage+”&jsoncallback=?”,
功能(数据){
var classshow='class=“lightbox”';
var classHidden='class=“lightbox hidden”';
$。每个(data.photos.photo,函数(i,rPhoto){
var basePhotoURL=http://farm“+rPhoto.farm+”.static.flickr.com/”
+rPhoto.server+'/'+rPhoto.id+'.'+rPhoto.secret;
var thumbPhotoURL=basePhotoURL+'_s.jpg';
var mediumPhotoURL=basePhotoURL+'.jpg';
var photoStringStart='
  • '+rPhoto.title+'
  • ;' var photoString=(i;' var photoString=(i;' var photoString=(i
    var标记只是此url中的一个区别:

    有人能帮我不要重复这些东西吗

    抱歉,这么长时间的垃圾:(

    函数getSomeJson(url){
    $.getJSON(url,
    功能(数据){
    var classshow='class=“lightbox”';
    var classHidden='class=“lightbox hidden”';
    $。每个(data.photos.photo,函数(i,rPhoto){
    var basePhotoURL=http://farm“+rPhoto.farm+”.static.flickr.com/”
    +rPhoto.server+'/'+rPhoto.id+'.'+rPhoto.secret;
    var thumbPhotoURL=basePhotoURL+'_s.jpg';
    var mediumPhotoURL=basePhotoURL+'.jpg';
    var photoStringStart='
  • '+rPhoto.title+'
  • ;' var photoString=(i
    只需调用它三次,将每个URL字符串作为
    URL
    参数传递

    作为补充说明,我想指出浏览器对并发XHR请求的数量有限制。请看这里:

    如果你的应用程序超出了主观的“推荐”的并发请求数,你可能会考虑对你的应用程序进行编译,使得下一个请求发生在“代码>成功< /代码>回调”中。.

    函数getSomeJson(url){
    $.getJSON(url,
    功能(数据){
    var classshow='class=“lightbox”';
    var classHidden='class=“lightbox hidden”';
    $。每个(data.photos.photo,函数(i,rPhoto){
    var basePhotoURL=http://farm“+rPhoto.farm+”.static.flickr.com/”
    +rPhoto.server+'/'+rPhoto.id+'.'+rPhoto.secret;
    var thumbPhotoURL=basePhotoURL+'_s.jpg';
    var mediumPhotoURL=basePhotoURL+'.jpg';
    var photoStringStart='
  • '+rPhoto.title+'
  • ;' var photoString=(i var userId = MyuserID; var perPage = '45'; var showOnPage = '45'; var tag = 'tag1'; var tag1 = 'tag2'; var tag2 = 'tagn'; $.getJSON('http://api.flickr.com/services/rest/?format=json&method='+ 'flickr.photos.search&api_key=' + apiKey + '&user_id=' + userId + '&tags=' + tag + '&per_page=' + perPage + '&jsoncallback=?', function(data){ var classShown = 'class="lightbox"'; var classHidden = 'class="lightbox hidden"'; $.each(data.photos.photo, function(i, rPhoto){ var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/' + rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret; var thumbPhotoURL = basePhotoURL + '_s.jpg'; var mediumPhotoURL = basePhotoURL + '.jpg'; var photoStringStart = '<li><a '; var photoStringEnd = 'title="' + rPhoto.title + '" href="'+ mediumPhotoURL +'"><img src="' + thumbPhotoURL + '" alt="' + rPhoto.title + '"/></a><span>'+rPhoto.title+'</span></li>;' var photoString = (i < showOnPage) ? photoStringStart + classShown + photoStringEnd : photoStringStart + classHidden + photoStringEnd; $(photoString).appendTo("#flickr ul"); }); $("#flickr a").fancybox(); }); $.getJSON('http://api.flickr.com/services/rest/?format=json&method='+ 'flickr.photos.search&api_key=' + apiKey + '&user_id=' + userId + '&tags=' + tag1 + '&per_page=' + perPage + '&jsoncallback=?', function(data){ var classShown = 'class="lightbox"'; var classHidden = 'class="lightbox hidden"'; $.each(data.photos.photo, function(i, rPhoto){ var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/' + rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret; var thumbPhotoURL = basePhotoURL + '_s.jpg'; var mediumPhotoURL = basePhotoURL + '.jpg'; var photoStringStart = '<li><a '; var photoStringEnd = 'title="' + rPhoto.title + '" href="'+ mediumPhotoURL +'"><img src="' + thumbPhotoURL + '" alt="' + rPhoto.title + '"/></a><span>'+rPhoto.title+'</span></li>;' var photoString = (i < showOnPage) ? photoStringStart + classShown + photoStringEnd : photoStringStart + classHidden + photoStringEnd; $(photoString).appendTo(".SetPinos1 ul"); }); $(".Sets a").fancybox(); }); $.getJSON('http://api.flickr.com/services/rest/?format=json&method='+ 'flickr.photos.search&api_key=' + apiKey + '&user_id=' + userId + '&tags=' + tagn + '&per_page=' + perPage + '&jsoncallback=?', function(data){ var classShown = 'class="lightbox"'; var classHidden = 'class="lightbox hidden"'; $.each(data.photos.photo, function(i, rPhoto){ var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/' + rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret; var thumbPhotoURL = basePhotoURL + '_s.jpg'; var mediumPhotoURL = basePhotoURL + '.jpg'; var photoStringStart = '<li><a '; var photoStringEnd = 'title="' + rPhoto.title + '" href="'+ mediumPhotoURL +'"><img src="' + thumbPhotoURL + '" alt="' + rPhoto.title + '"/></a><span>'+rPhoto.title+'</span></li>;' var photoString = (i < showOnPage) ? photoStringStart + classShown + photoStringEnd : photoStringStart + classHidden + photoStringEnd; $(photoString).appendTo(".SetPinos ul"); }); $(".Sets a").fancybox(); });
    function getSomeJson(url) {
            $.getJSON(url,
            function(data){
                var classShown = 'class="lightbox"';
                var classHidden = 'class="lightbox hidden"';
    
                $.each(data.photos.photo, function(i, rPhoto){
                    var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/'
                        + rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret;
    
                    var thumbPhotoURL = basePhotoURL + '_s.jpg';
                    var mediumPhotoURL = basePhotoURL + '.jpg';
    
                    var photoStringStart = '<li><a ';
                    var photoStringEnd = 'title="' + rPhoto.title + '" href="'+
                        mediumPhotoURL +'"><img src="' + thumbPhotoURL + '" alt="' +
                        rPhoto.title + '"/></a><span>'+rPhoto.title+'</span></li>;'
                    var photoString = (i < showOnPage) ?
                        photoStringStart + classShown + photoStringEnd :
                        photoStringStart + classHidden + photoStringEnd;
    
                    $(photoString).appendTo(".SetPinos ul");
                });
                $(".Sets a").fancybox();
            });
        }
    
    function startFlickrCall(tag, appendLoc, fancyBox)
    {
            var userId = MyuserID;
            var perPage = '45';
            var showOnPage = '45';
    
            $.getJSON('http://api.flickr.com/services/rest/?format=json&method='+
                'flickr.photos.search&api_key=' + apiKey + '&user_id=' + userId +
                      '&tags=' + tag + '&per_page=' + perPage + '&jsoncallback=?', function(data){
                var classShown = 'class="lightbox"';
                var classHidden = 'class="lightbox hidden"';
    
                $.each(data.photos.photo, function(i, rPhoto){
                    var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/'
                        + rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret;
    
                    var thumbPhotoURL = basePhotoURL + '_s.jpg';
                    var mediumPhotoURL = basePhotoURL + '.jpg';
    
                    var photoStringStart = '<li><a ';
                    var photoStringEnd = 'title="' + rPhoto.title + '" href="'+
                        mediumPhotoURL +'"><img src="' + thumbPhotoURL + '" alt="' +
                        rPhoto.title + '"/></a><span>'+rPhoto.title+'</span></li>;';
                    var photoString = (i < showOnPage) ?
                        photoStringStart + classShown + photoStringEnd :
                        photoStringStart + classHidden + photoStringEnd;
    
                    $(photoString).appendTo(appendLoc);
                });
                $(fancybox).fancybox();
            });
    }
    
    startFlickrCall('tag1', "#flickr ul", "#flickr a");
    startFlickrCall('tag2', ".SetPinos1 ul", ".Sets a"));
    startFlickrCall('tagn', ".SetPinos ul", ".Sets a"));