Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как достать информацию из блока с внешней подгрузкой информации? (https://javascript.ru/forum/events/31233-kak-dostat-informaciyu-iz-bloka-s-vneshnejj-podgruzkojj-informacii.html)

Sandrik 30.08.2012 21:29

Как достать информацию из блока с внешней подгрузкой информации?
 
Идет подгрузка информации в:
<textarea id="text" disabled></textarea>


при помощи скрипта:
<script type="text/javascript">
			$(document).ready(function(){
				$.ajax({
					url: 'data.txt',
					cache: false,
					beforeSend: function() {
						$('#text').html('');
					},
					success: function(html){
						$("#text").html(html);
					}
				});
				var content = $("#text").text();
			});
		</script>


Последняя строчка должна заносить подгруженную информацию в переменную, но тем не менее переменная остается пустой (хотя в блоке информация появляется). Причем если изначально в блоке что-то было, то оно тоже не заносится в переменную. Ну, если заносить до скрипта, то все получится само собой :yes: В общем, почему так происходит? И как исправить? :help:

Deff 30.08.2012 21:47

<script type="text/javascript">
var content;
			$(document).ready(function(){
				$.ajax({
					url: 'data.txt',
					cache: false,
					beforeSend: function() {
						$('#text').html('');
					},
					success: function(html){
						$("#text").html(html);
					}
				});
				content = $("#text").text();
alert(content) ; 
//Тут Вызов функции куда передавать "content"
			});
		</script>

Sandrik 30.08.2012 22:01

Deff, извините, я не понял, что существенно вы изменили :D Потому скопировал код, вставил, но в алерте по прежнему пусто. :-? Наверно мне стоит скинуть всю страницу:

<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>test</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
		<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				var content;
				$.ajax({
					url: 'data.txt',
					cache: false,
					beforeSend: function() {
						$('#text').html('');
					},
					success: function(html){
						$("#text").html(html);
					}
				});
				content = $("#text").text();
				alert(content);
			});
		</script>
	</head>
	<body>
		<div id="wrap">
			<div id="content">
				<textarea id="text" disabled></textarea>
			</div>
			<div id="footer">
			</div>
		</div>
	</body>
</html>

Deff 30.08.2012 22:13

<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>test</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
		<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript">
		 function Allert(content) {
		  alert(content);
		 }
			$(document).ready(function(){

				$.ajax({
					url: 'data.txt',
					cache: false,
					beforeSend: function() {
						$('#text').html('');
					},
					success: function(html){
						$("#text").html(html);
					var content = $("#text").text();
					Allert(content);
				
					}
				});

			});
		</script>
	</head>
	<body>
		<div id="wrap">
			<div id="content">
				<textarea id="text" disabled></textarea>
			</div>
			<div id="footer">
			</div>
		</div>
	</body>
</html>


<body
</html>

Sandrik 30.08.2012 22:23

Deff, не могу понять как это может исправить проблему, но я проверил и алерт все еще пустой :( Наверно проблема в чем-то другом.

cyber 30.08.2012 22:26

может ошибка не в js?

Sandrik 30.08.2012 22:35

cyber, а где она еще может быть? :-? код и так довольно простой.

Deff 30.08.2012 22:38

Sandrik, Загоните в Адрес код текущей своей страницы - если алерта нет - занчит у Вас что то с Аякс поддержкой
Цитата:

$.ajax({
15 url: 'data.txt',
16 cache: false,
17 beforeSend: function() {
18 $('#text').html('');
19 },
20 success: function(html){
21 $("#text").html(html);
22 var content = $("#text").text();
23 Allert(content);
24
25 }
26 });

Sandrik 30.08.2012 22:53

deff, вместо файла прописал http://localhost/project/, у меня появился бесконечный алерт. Но алерт и до этого был, просто он был пустой. В общем, когда я захожу на страницу (нормальную, где в адресе файл, а не локалхост) я вижу это (то, что там сверху за алертом, это содержимое того файла.):

Deff 30.08.2012 23:22

Sandrik,
Cуть в том - что аякс может быть лишь на свой домен - если подгрузка с домена, отличного от текущей странице - кроме пустоты ничо и не получицо или как Вы объясните это ?


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