javascript代码问题,来自Github的JSON请求
我有个问题要解决。 我对JS还是很陌生,还学习语法。我正在尝试修改某人的脚本,该脚本是为返回github存储库中的所有存储库而构建的(未经修改的可以正常工作)。 我试图修改它,以仅返回具有指定主语言(即“Matlab”)的存储库。到现在为止,我可能已经把它彻底杀光了javascript代码问题,来自Github的JSON请求,javascript,html,json,Javascript,Html,Json,我有个问题要解决。 我对JS还是很陌生,还学习语法。我正在尝试修改某人的脚本,该脚本是为返回github存储库中的所有存储库而构建的(未经修改的可以正常工作)。 我试图修改它,以仅返回具有指定主语言(即“Matlab”)的存储库。到现在为止,我可能已经把它彻底杀光了 $(function () { var lang = 'Matlab'; var lang2 = '#' + lang; $('#' + lang).html('Loading...'); var username =
$(function () {
var lang = 'Matlab';
var lang2 = '#' + lang;
$('#' + lang).html('Loading...');
var username = 'lallers';
var requri = 'https://api.github.com/users/' + username;
var repouri = 'https://api.github.com/users/' + username + '/repos';
requestJSON(requri, function (json) {
var fullname = json.name;
var username = json.login;
var aviurl = json.avatar_url;
var profileurl = json.html_url;
var location = json.location;
var followersnum = json.followers;
var followingnum = json.following;
var reposnum = json.public_repos;
var email = json.email;
if (fullname == undefined) {
fullname = username;
}
var outhtml = '<div class="repolist clearfix"><ul>';
var repositories;
$.getJSON(repouri, function (json) {
repositories = json;
outputPageContent();
});
function outputPageContent() {
if (repositories.length == 0) {
outhtml = outhtml + '<p>No repos!</p></div>';
} else {
$.each(repositories, function (index) {
if (repositories[index].language == lang) {
outhtml = outhtml + '<li><a href="' + repositories[index].html_url + '" target="_blank">' + repositories[index].name + '</a></li>';
} else {
return true;
}
}); // end each statement
outhtml = outhtml + '</ul></div>';
} // end else statement
$('#' + lang).html(outhtml);
} // end else statement
}); // end requestJSON Ajax call
function requestJSON(url, callback) {
$.ajax({
url: url,
complete: function (xhr) {
callback.call(null, xhr.responseJSON);
}
});
}
});
$(函数(){
var lang='Matlab';
变量lang2='#'+lang;
$('#'+lang).html('Loading…');
var用户名='lallers';
var requri=https://api.github.com/users/“+用户名;
var repouri=https://api.github.com/users/“+用户名+”/repos”;
请求json(请求URI,函数(json){
var fullname=json.name;
var username=json.login;
var aviurl=json.avatar\u url;
var profileurl=json.html\u url;
var location=json.location;
var followersnum=json.followers;
var follownum=json.following;
var reposum=json.public\u repos;
var email=json.email;
如果(全名==未定义){
全名=用户名;
}
var outhtml=“”;
var库;
$.getJSON(repouri,函数(json){
repositories=json;
outputPageContent();
});
函数outputPageContent(){
if(repositories.length==0){
outhtml=outhtml+“无回购!”;
}否则{
$.each(存储库、函数(索引){
if(存储库[index].language==lang){
outhtml=outhtml+'';
}否则{
返回true;
}
});//结束每个语句
outhtml=outhtml+'
';
}//end else语句
$('#'+lang).html(outhtml);
}//end else语句
});//结束请求JSON Ajax调用
函数requestJSON(url,回调){
$.ajax({
url:url,
完成:函数(xhr){
callback.call(null,xhr.responseJSON);
}
});
}
});
glang
包含jQuery对象。我不理解您在代码中使用它的方式。您将要搜索的语言设置在哪里?看起来您也在使用glang
变量来实现这一点。@Barmar如果我是诚实的,我不知道通常如何实现这些。我来自于使用Matlab,我自己也在学习。我试图用glang
术语做的是将其用作我搜索的参数(如您在第二个问题中所问)。这个脚本应该运行,用它们的语言找到所有repo=glang
,并将它们返回到我在页面上用id=glang
标记的div元素,也就是说,我制作了一个
,然后脚本运行并将输出放在该div元素中。您如何将该参数传递给函数$(function()…)
是$(document.ready(function()…)
的缩写,它接收的参数是jQuery
对象,而不是来自DOM的任何内容。如果您有以语言命名的div,那么您可能应该在这些div上编写一个click处理程序,并从ID中获取参数。然后编写$(“.lang”)。单击(function(){lang=this.id;…})