Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.02.2014, 20:43
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

открываешь фаербаг (f12), вкладка network там и смотришь json'ы

в хроме даже фильтр есть, нажимаешь XHR.
Ответить с цитированием
  #12 (permalink)  
Старый 13.02.2014, 21:07
Новичок на форуме
Отправить личное сообщение для OleG54extra Посмотреть профиль Найти все сообщения от OleG54extra
 
Регистрация: 13.02.2014
Сообщений: 9

в общем пожалуйста помогите получать эти данные себе на определенную страницу.
Ответить с цитированием
  #13 (permalink)  
Старый 13.02.2014, 21:13
Новичок на форуме
Отправить личное сообщение для OleG54extra Посмотреть профиль Найти все сообщения от OleG54extra
 
Регистрация: 13.02.2014
Сообщений: 9

вот что получилось ошибка 404
Изображения:
Тип файла: jpg 1.JPG (26.4 Кб, 3 просмотров)
Ответить с цитированием
  #14 (permalink)  
Старый 13.02.2014, 22:09
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

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

поэтому я дергал через свою серверную часть, вот пхп (имя пхп файла site.php):
<?php
$url = $_GET['url'];
echo file_get_contents($url);
?>


а вот реализация на js:
<html>
	<head>
		<title>example</title>
	</head>
	<body>
	<div>
		
	</div>
		<script>
function ajax(url)
	{
	var request = undefined;
	try
		{
		request = new ActiveXObject("Msxml2.XMLHTTP");
		}
	catch (e)
		{
		try
			{
			request = new ActiveXObject("Microsoft.XMLHTTP");
			}
		catch (e)
			{
			try
				{
				request = new XMLHttpRequest();
				}
			catch (e)
				{
				return false;
				}
			}
		}
	request.open('get', 'site.php?url=' + url, true);
	request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	request.onreadystatechange = function()
		{
		if (request.readyState == 4)
			{
			if (request.status == 200)
				{
				var data = eval(request.responseText);
				var div = document.querySelector('div');
				
				var records = data.records,
					len = records.length,
					i, k = [], m, r;
				
				for (i = 0; i < len; ++i)
					{
					r = records[i];
					m = new Array();
					m[0] = r.numOfQuotes;
					m[1] = r.numOfTrades;
					m[2] = r.price;
					k.push('<td>' + m.join('</td><td>') + '</td>');
					}
				
				div.innerHTML = '<table><tr>' + k.join('</tr><tr>') + '</tr></table>';
				}
			else
				console.log(request.status);
			}
		};
	request.send();
	}
ajax('http://www.otcmarkets.com/otciq/ajax/getTopWombatTrades.json');
		</script>
	</body>
</html>
Ответить с цитированием
  #15 (permalink)  
Старый 13.02.2014, 22:24
Новичок на форуме
Отправить личное сообщение для OleG54extra Посмотреть профиль Найти все сообщения от OleG54extra
 
Регистрация: 13.02.2014
Сообщений: 9

хорошо, завтра разберусь.
Ответить с цитированием
  #16 (permalink)  
Старый 13.02.2014, 23:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от skrudjmakdak
поэтому я дергал через свою серверную часть, вот пхп (имя пхп файла site.php):
Тут вряд ли получиться таким простым кодом, если сам копируемый сайт имеет динамически подгружаемый контент, ибо нун осуществлять полное проксирование и выпрямлять все ссылки в скриптах и заменять все обычные ссылки на их сайт обращением к серву для перепарса данной страницы, карочь нун ставить прокси-сервер, и ток потом забирать- отдавать контент

Более быстрый вариант реализации(для меня, к примеру) в связке С++ эмулятор браузера + PHP , который забирает из эмулятора сгенеренный контент с того сайта в итоговом виде и отдаёт клиенту (но не факт что они лучше полного проксирования, да и то существуют защиты от второго варианта(например простое кодирование ссылки в скриптах Аякс запросов), а в первом - отсутствие на клиенте реакции на на некоторые события, если скрипты динамически- изменяемые

Последний раз редактировалось Deff, 14.02.2014 в 00:01.
Ответить с цитированием
  #17 (permalink)  
Старый 14.02.2014, 09:30
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Deff, а я чет не понял почему не получится? у меня все шло, правда долговато ждал ответа. или пхп кэширует данные?
Ответить с цитированием
  #18 (permalink)  
Старый 14.02.2014, 15:33
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

skrudjmakdak,
к примеру на странице скрипт
$.get("test.php"); который и заполняет таблицы (обычно типичный вариант для запрошенного ТС, посколь базы таблиц часто меняются)
test.php - обращения к странице с офсайта, во первых его нун перепарсить в полную ссылку, во вторых даже перепарсенное не пройдет ибо требует cors или играй ток с запросами со своего домена

Последний раз редактировалось Deff, 14.02.2014 в 15:39.
Ответить с цитированием
  #19 (permalink)  
Старый 14.02.2014, 15:47
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Сообщение от Deff Посмотреть сообщение
test.php - обращения к странице с офсайта
не к странице, а к json строке, которая итак готова. зачем ее перепарсивать?
Ответить с цитированием
  #20 (permalink)  
Старый 14.02.2014, 16:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

так на всякий случай -- данный json находится в каталоге который запрещено посещать роботам.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод данных и нажатие кнопки на сайте Kuklachel Events/DOM/Window 4 11.09.2013 11:14
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Карта города на сайте (где пользователь может указать себя) zebra741258963 Библиотеки/Тулкиты/Фреймворки 0 10.05.2012 03:12
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Странно себя ведет простейшая проверка введенных данных в форме San4eZ Общие вопросы Javascript 7 06.10.2011 09:17