Показать сообщение отдельно
  #4 (permalink)  
Старый 01.08.2012, 02:53
Аватар для shkoder
Аспирант
Отправить личное сообщение для shkoder Посмотреть профиль Найти все сообщения от shkoder
 
Регистрация: 06.07.2012
Сообщений: 31

function vote(url, callback) {
	var req = createXmlHttpRequestObject();
	var result;
	req.onreadystatechange = function() {  
	if (req.readyState == 4 && req.status == 200) {
		result = req.responseText;
		if (typeof callback === 'function')
			callback.call(this, result);
		}
	}
	req.open("GET", url, true);
	req.send(null);
}
vote('url', function(response){
	alert(response);
});

Привыкайте к асинхронному программированию.
req.onreadystatechange - обработчик события (а оно происходит не сразу), т.е. представьте вот так.
function vote(url) {
	var req = createXmlHttpRequestObject();
	var result;
	//req.onreadystatechange определяем обработчик события, но для наглядности не будем брать это во внимание 
	req.open("GET", url, true);
	req.send(null);
}
console.log(vote(url)); // >>> undefined

по событию readystatechange, т.е. через некоторое время, когда с сервера придет ответ, выполнится
if (req.readyState == 4 && req.status == 200) {
	result = req.responseText;
	return result;
}
Ответить с цитированием