Не пойму, создал же переменные перед запуском каждого аджакса, и теперь когда кликаю, хочу прервать их, однако, они все равно работают, а в консоли ошибка:
Uncaught ReferenceError: apptype is not defined
at HTMLDivElement.<anonymous> ((index):54)
at HTMLDocument.dispatch (jquery-3.1.1.min.js:3)
at HTMLDocument.q.handle (jquery-3.1.1.min.js:3)
Ajax запросы:
jQuery(document).ready(function($) {
var getsteamgames, apptype;
$(document).on('click', '.suggestedGame', function(event) {
// getsteamgames.abort();
// apptype.abort();
//тут должно прервать поиск возможных игр, аджакс запросы и их переменные созданы ниже
var appID = $(this).data('appid'),
token = $('input[name="_token"]').val(),
appName = $(this).text(),
imgUrl = 'http://cdn.akamai.steamstatic.com//steam//apps//'+appID+'//header.jpg?t=1456860366';
$('#gameName').val(appName);
$('.hidden').addClass('show');
$('.show').removeClass('hidden');
$('.formy').addClass('col-md-8');
$('.formy').removeClass('col-md-12');
$('.suggested').html('');
var urlcheck = $.ajax({
url: '/urlcheck',
type: 'post',
data: {
'imgUrl': imgUrl,
'_token': token,
},
})
.done(function(data) {
if(data === '1')
{
$('#gameLogo').attr('src', 'http://cdn.akamai.steamstatic.com//steam//apps//'+appID+'//header.jpg?t=1456860366');
}
else
{
$('#gameLogo').attr('src', 'http://voting/imgs/no_img.jpg');
}
})
.fail(function() {
console.log("error");
});
});
$(document).on('submit', '#searchForm', function(event) {
var gameName = $('#gameName').val();
if( $('#gameLogo').attr('src') == '' && $('#gameName').val().length === 0)
{
confirm('Введите название игры или ее часть, ожидайте пока поисковик найдет возможные варианты, выбирите его и нажмите "Голосовать".');
event.preventDefault();
}
else
{
confirm('Подтвердите свой выбор за:' + gameName + '?');
location.reload();
}
});
});
function getSteamGames(event) {
$('.suggested').html('');
$('#gameLogo').attr('src', '');
$('.show').addClass('hidden');
$('.hidden').removeClass('show');
$('.formy').addClass('col-md-12');
$('.formy').removeClass('col-md-8');
var token = $('input[name="_token"]').val(),
gameName = $('#gameName').val();
if(gameName.length >= 4)
{
$('.suggested').html('<div class="spinner"><img src="http://voting/gif/91.gif" alt=""></div>');
//вот етот запрос надо прервать, продолжает советовать даже после выбора
getsteamgames = $.ajax({
url: '/getsteamgames',
type: 'POST',
dataType: 'json',
data: {
'gameName': gameName,
'_token': token,
},
})
.done(function(data) {
$('.suggested').html('');
$.each(data, function(index, element) {
var gameName = element.name,
appID = element.appid;
// и этот, смысла нет продолжать проверку, если уже выбор сделан
apptype = $.ajax({
url: '/apptype',
type: 'POST',
dataType: 'json',
data: {
'appID': appID,
'_token': token,
},
})
.done(function(isGame) {
// console.log(isGame);
if(isGame == '1')
{
$('.suggested').prepend('<div class="suggestedGame label label-info" data-appid="'+appID+'">' + gameName + '</div>');
}
})
.fail(function() {
console.log("Some error returned.");
});
});
})
.fail(function() {
console.log("ERROR");
});
}
}
HTML:
<div class="container ">
<div class="row">
<div class="panel panel-default">
<div class="panel-heading text-center">
Panel heading without title
</div>
<div class="panel-body">
<div class="col-md-12">
<div class="col-md-4 hidden">
<img id="gameLogo" class="img-thumbnail" src="">
</div>
<div class="col-md-12 formy">
<form action="post" action="" id="searchForm">
{{ csrf_field() }}
<span id="selectedGame"></span>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">
<span class="fa fa-gamepad"></span>
</div>
<input type="text" id="gameName" class="form-control" placeholder="Введите желаемое название игры... (Half-Life)" onkeyup="getSteamGames(event)" autocomplete="off">
<div class="input-group-addon">
<span class="fa fa-search"></span>
</div>
</div>
<div class="suggested"></div>
</div>
<button class="btn btn-default btn-block" type="submit">Голосовать!</button>
</form>
</div>
</div>
</div>
<div class="panel-footer text-center">
Panel footer
</div>
</div>
</div>
</div>
Больше ничего нет, это все.
У вас переменные getsteamgames
и apptype
описаны внутри анонимных функций. Они будут не видны за их пределами.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Привет! Я питонист, но из приличия решил заботать с++Задание: есть класс Foo с private конструктором
Написал простенький класс для отправки post запросаПроблема в том что на строчке
Здравствуйте, скачал сегодня кандидат-версию Visual Studio 17 ProНу решил посмотреть что да как