【发布时间】:2021-11-22 21:30:22
【问题描述】:
我创建了一个函数,它使用 getJSON 来检索在注册 Github 用户的 API 网站上找到的数据集
<!DOCTYPE html>
<!---->
<html>
<head>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$(function(){
var user = $('#search').val();
$.getJSON("https://api.github.com/users/" + user)
.done(function(data) {
var br = "<br>";
var p = $("<p id='users'></p>");
var name = "Username: "+ user.login + br;
var pic = "Avatar Picture:" + br + "<img src='"+user.avatar_url+"'/>" +br;
var homeURl = "Homepage URL: "+"<a href='"+user.html_url+"'>"+user.html_url+"</a>" +br;
var location = "Location: "+"Null" +br;
var admin = "Admin: "+user.site_admin;
p.append("<p>"+ name + pic + homeURl + location + admin +"</p>");
$("#results").empty().append(p);
})
.fail(function(jqXHR) {
console.log("Error: " + jqXHR.status);
})
.always(function() {
console.log("Random Users Request finished");
});
});
</script>
</head>
<body>
<input id="search" type = "text">
<button>Search</button>
<div id="results"></div>
</body>
</html>
如您所知,我已经开始对其进行修改,以便仅显示已搜索的用户,而不是显示所有用户
var user = $('#search').val();
$.getJSON("https://api.github.com/users/" + user)
这段代码的 sn-p 获取在文本区域中输入的用户名,并将其传递给 Url 中的 getJSON 方法。一个示例 URL 是“https://api.github.com/users/mojombo”,因此如果用户输入“mojombo”,那么他们的个人资料就会出现
通过按钮访问此功能
<input id="search" type = "text">
<button>Search</button>
但是,当您搜索示例用户时,实际上任何用户都不会显示任何数据并且仍然是空白屏幕
【问题讨论】:
-
你为什么改变了你的问题?
-
你检查过控制台吗?您收到错误消息吗?
-
@connexo 我没有更改它,我只是添加了您对按钮的编辑
-
@user16973340 您是否在搜索文本框中传递了有效值?
-
您要么必须将
defer和/或async添加到脚本中,要么将其移动到正文的底部。 Here 是一个工作示例。接下来,您必须在success中将user替换为data。
标签: javascript jquery getjson