Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не работает Promise (https://javascript.ru/forum/jquery/70074-ne-rabotaet-promise.html)

koha345 08.08.2017 18:30

Не работает Promise
 
Имеется js-файлик со следующим содержимым:
$(document).ready(function() {
	$("#search_posts_by_groups_form2").submit(function(){
		var groupArray = new Array();
		var token = $('#token')[0].value;
		if (token.trim() == ""){alert('Введите Токен');return false;}
		var delim = $('#search_delim')[0].value;
		var groups_id = $('#search_groups')[0].value;
		// Получаем список сообществ
		var groups_arr = groups_id.split(delim);
		var groupsSize = groups_arr.length;
		// Получаем список искомых тегов
		var tags_arr = tags.split(delim);
		var k = 0;
		var checkSum = 0;
		var groupIDArray = new Array();
		$.each(groups_arr, function(i, group_id) {
			groupIDArray[k] = group_id;
			++k;
		});
		
		initGroupInfo(token, groupArray, groupIDArray, 0);
		
		
		
	});
});

function initGroupInfo(token, groupArray, groupIDArray, currentGroupIDIndex){
	var group_id = groupIDArray[currentGroupIDIndex];
	
	var promisedCalbackGroup = callbackGroup(token, group_id);
	promisedCalbackGroup.then(
		function(data){
			alert(data);
		}, function(){alert('error');}
	);
};

function callbackGroup(token, group_id){
	return $.ajax({
		url: 'https://api.vk.com/method/groups.getById?v=5.52&access_token=' + token + '&group_id=' + group_id,
		type: 'GET',
		async: true,
		dataType: 'jsonp',
		crossDomain: true
	});
};

По непонятным мне причинам submit перезагружает страницу. Похоже, где-то падает. Причина мне не ясна. Но падает именно после initGroupInfo

laimas 08.08.2017 18:33

Цитата:

Сообщение от koha345
По непонятным мне причинам submit перезагружает страницу

Форма отправляет, поэтому и прегружается. .....submit(function(e) { e.preventDefault(); ..... код дальше

koha345 08.08.2017 18:42

Цитата:

Сообщение от laimas (Сообщение 461003)
Форма отправляет, поэтому и прегружается. .....submit(function(e) { e.preventDefault(); ..... код дальше

Большое спасибо. Помогло :)


Часовой пояс GMT +3, время: 19:11.