【发布时间】:2019-04-07 00:18:44
【问题描述】:
创建一个 jQuery 事件处理程序,它将启动一个 Ajax 请求、检索数据并提取所需的信息。我需要根据在<div id="results"> 中输入的用户名显示用户名和电子邮件。它还需要在<div id="results"> 中说,如果根据输入没有找到用户名,它就找不到用户。
如果我正在访问的用户 JSON 文件 https://jsonplaceholder.typicode.com/users/
<script>
$(document).ready(function() {
$("#btnSubmit").click(function(){
var username = $("#user").val();
$.ajax( {
url: 'https://jsonplaceholder.typicode.com/users/',
method: 'GET'
}).then(function(data) {
$.get(username);
$.each(data, function(index, user) {
if (user['username'] == username) {
$('#results').text(''+ user.name +' ('+user.email +')');
} else {
$('#results').text('Sorry, no user could be found with the username '+ username+ '');
}
});
});
});
});
</script>
我能够根据用户名找到用户,但我不知道下一步是如何获取用户名和电子邮件。
【问题讨论】:
-
$.get()用于发出 AJAX 请求。您不太可能想在这里使用它 -
你想要这样的东西...
if (user.username === username) { $('#results').text(`${user.name} <${user.email}>`) } -
$('#results').text(
${user.name} <${user.email}>) 合并不显示指定用户名的名称或电子邮件。它只是输出 -
这简直是不可能的。请update the code in your question你现在拥有的东西
-
Phil 不要再打扰你了,但我终于让我的代码工作了。我现在遇到的唯一问题是一切都默认为 else 语句,但如果我删除它,并输入一个已知的用户名,if 语句将运行。如果是未知用户名,则不会发生任何事情。但是在我的代码中包含 else 语句时,已知和未知的用户名将在 else 语句中运行。知道为什么吗?
标签: javascript jquery html json ajax