Я хотел бы найти значение в API отдыха и сделать еще один запрос с возвращенным значением.
Поле простого поиска:
<div class="container">
<h1>Wikipedia Search</h1>
<input id="searchTerm" name="search" placeholder="Search..">
<button id='search' type="button" class ="btn btn-primary">Submit</button>
</div>
Json выглядит следующим образом:
{
"status": "success",
"games": [
{
"id": "1",
"name": "counter"
},
{
"id": "2",
"name": "dota"
},
{
"id": "3",
"name": "aoe2"
},
{
"id": "4",
"name": "civ5"
}]
}
Моя цель состоит в том, чтобы, когда кто-то ищет, например, «counter», чтобы вернуть id 1 в качестве переменной, которую я мог бы использовать для другого отданного запроса на получение API.
Код JS,что я пытаюсь тренироваться:
$("#search").on("click", function() {
var searchTerm = $("#searchTerm").val();
var url = "https://www.website.com/api.php?action=games";
$.ajax({
url: url,
type: 'GET',
contentType: "application/json; charset=utf-8",
async: false,
dataType: "json",
// plop data
success: function(games, status, errors) {
$("#output").html();
for(var x in games){
if(games[x].id && games[x].id.split(",").indexOf(id.toString())!=-1) return games[x].name;
}
return "Not Found";
}});
console.log(searchTerm)
});
С возвращенным значением id я хотел бы сделать запрос get, как показано ниже: ex.var Id = * ReturnedId из поиска
var request = new XMLHttpRequest();
request.open('GET', 'https://website.com/api/player.php?aid='Id'', true);
request.onload = function () {
var data = JSON.parse(this.response);
request.onreadystatechange = function() {
if (this.readyState === 4) {
if (this.status >= 200 && this.status < 400) {
// Success!
var data = JSON.parse(this.responseText);
} else {
// Error :(
}
}
};