我已经发布了一个关于它的问题,但我已经知道确切的问题是什么。现在,我需要一个解决方案:)jQuery AJAX调用两次
这里是我的代码:
$('input[type="text"][name="appLink"]').unbind('keyup').unbind('ajax').keyup(function() {
var iTunesURL = $(this).val();
var iTunesAppID = $('input[name="iTunesAppID"]').val();
$.ajax({
type: 'POST',
url: jsonURL,
dataType: 'json',
cache: false,
timeout: 20000,
data: { a: 'checkiTunesURL', iTunesURL: iTunesURL, iTunesAppID: iTunesAppID },
success: function(data) {
if (!data.error) {
$('section.submit').fadeOut('slow');
//Modifying Submit Page
setTimeout(function() {
$('input[name="appLink"]').val(data.trackViewUrl);
$('div.appimage > img').attr('src', data.artworkUrl512).attr('alt', data.trackName);
$('div.title > p:nth-child(1)').html(data.trackName);
$('div.title > p:nth-child(2)').html('by '+data.sellerName);
$('span.mod-category').html(data.primaryGenreName);
$('span.mod-size').html(data.fileSizeBytes);
$('span.mod-update').html(data.lastUpdate);
$('select[name="version"]').html(data.verSelect);
$('input[name="iTunesAppID"]').attr('value', data.trackId);
}, 600);
//Showing Submit Page
$('section.submit').delay('600').fadeIn('slow');
} else {
$('.json-response').html(data.message).fadeIn('slow');
}
},
error: function(jqXHR, textStatus, errorThrown) {
//$('.json-response').html('Probléma történt! Kérlek próbáld újra később! (HTTP Error: '+errorThrown+' | Error Message: '+textStatus+')').fadeIn('slow');
$('.json-response').html('Something went wrong! Please check your network connection!').fadeIn('slow');
}
});
});
的问题和解释:
每次一键被触发了,它加载此阿贾克斯。如果我的JSON文件找到keyword
,则返回error = false
标志。你看,如果它发生,它加载的效果,改变,等等......
问题是,当你开始键入,例如asdasdasd
和刚才我粘贴/写keyword
会有一些ajax查询哪些仍在处理中。这些人正在修改和加载fadeOut-In效果X次。
所以我需要一个解决方案来停止处理Ajax请求,而另一个键被按下!
由于提前, 马塞尔
什么也没有发生,它不运行ajax – Skylineman 2013-02-10 14:07:21
控制台中的任何错误? – Popnoodles 2013-02-10 14:08:52
它需要'var',但仍然不会中止正在运行的查询! – Skylineman 2013-02-10 14:11:46