Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   условие присутствия значения выполняется а значения нет как это? (https://javascript.ru/forum/dom-window/45575-uslovie-prisutstviya-znacheniya-vypolnyaetsya-znacheniya-net-kak-ehto.html)

imediasun1 06.03.2014 15:43

условие присутствия значения выполняется а значения нет как это?
 
Посмотрите пожалуйста
Я пытаюсь сперва получить результат выполнения функции pr2 и в случае если этот результат есть выполнить другие функции у меня условие проходит а алерт(pr2) undefined
for( var i = x; i < y; i++ ){


$('#result_'+n+'').append('<tr bgcolor="#'+ color +'"><td>&nbsp;&nbsp;<input type="radio" id="position'+i+'" name="position"></td><td>'+(i+1)+'</td><td>'+ url_array[n][i] +'</td><td id="cy_'+ x+i +'"><img src="/checker/ajax-loader.gif" border="0" /></td><td id="pr_'+ x+''+i +'"><img src="/checker/ajax-loader.gif" border="0" /></td><td id="dmoz_'+ x+''+i +'"><img src="/checker/ajax-loader.gif" border="0" /></td><td id="wa_'+ x+''+i +'"><img src="/checker/ajax-loader.gif" border="0" /></td><td id="glue_cy_'+ x+''+i +'"><img src="/checker/ajax-loader.gif" border="0" /><td id="glue_pr_'+ x+''+i +'"><img src="/checker/ajax-loader.gif" border="0" /></td></tr>')
			
			
			
			
			var pr2=get_pr2(url_array[n][i])
			if( pr2 != 'undefined'){
			alert(pr2);
			get_cy(url_array[n][i],x+''+i);
			get_pr(url_array[n][i],x+''+i);
			get_dmoz(url_array[n][i],x+''+i);
			get_wa(url_array[n][i],x+''+i);
			get_price(i+1,x+''+i,pr2);
			}
		}


при этом функция pr2 возвращает число
function get_pr2(url){
	$.ajax(
		{
			url: '/checker/worker.php?service=pr2&url=' + url,
			dataType: 'text',
			success: 
				function(data){
				alert(data);
				return data;
				},
			error:
				function(){
					return (100);
				}
		}
	);

}

danik.js 06.03.2014 16:07

Цитата:

Сообщение от imediasun1
при этом функция pr2 возвращает число

она ничего не возращает. То есть undefined.

imediasun1 06.03.2014 17:37

да вы правы там ничего нет, а почему? если к ней обратиться то ее алерт выводит число почему же она ничего не возвращает

danik.js 07.03.2014 01:59

Цитата:

Сообщение от imediasun1
почему же она ничего не возвращает

Потому что она не может вернуть результат ajax-запроса. Так как запрос асинхронный. То есть не синхронизирован с функцией и выполняется как бы отдельно от функции.


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