Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод большого текста. (https://javascript.ru/forum/misc/72129-vyvod-bolshogo-teksta.html)

Артист 10.01.2018 17:38

Вывод большого текста.
 
Делаю Get запрос, приходит страница в тексте.
Ищу в ней строку через indexOf - не находит.
Хотя строка там есть.

Хочу проверить, а alert не полностью выводит текст.

Можно как-то по другому?

console.log(html)

Что-то не работает...

Артист 10.01.2018 17:42

Ой, тупанул, там консоль приложения нужно было смотреть...
В русском тексте дело, вернее кодировке...

Артист 10.01.2018 17:50

Мда, бред, бред, бред...

Не находит и всё...
Раньше всё работало, а теперь нет.

Можно как-то кодами вывести, или записать?

Aetae 10.01.2018 18:52

Удалённая кодировка и кодировка страницы должна совпадать, либо должна быть указана в хедере при запросе.

Артист 10.01.2018 23:21

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

Оно просто сразу же удаляется...

Артист 10.01.2018 23:34

Всё дело в том, что раньше всё работало, а теперь перестало...

Ну вот, в оригинале нет ничего про кодировку:
Цитата:

General:
Request URL: http://домен/страница.php
Request Method: GET
Status Code: 200 OK
Remote Address: айпи:порт
Referrer Policy: no-referrer-when-downgrade

Response Headers:

HTTP/1.1 200 OK
Server: QRATOR
Date: Wed, 10 Jan 2018 20:25:25 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=15
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding

Request Headers:
GET /roulette.php HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Cookie: _ym_uid=187995685451; ...Ну и там дальше...
Host: Домен
Referer: http://домен/страница.php
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

Артист 10.01.2018 23:40

function GetHttpRequest(href) // Get запрос на url
{
	var xhr = new XMLHttpRequest()
	xhr.withCredentials = true
	xhr.onreadystatechange = function()
	{
		var xhr = this

		if(xhr.readyState != 4 || xhr.status != 200) return
		
		var html = xhr.responseText
		
		alert(html)
		console.log(html)
	}
	xhr.open('GET', href, true)
	xhr.send(null)
}
GetHttpRequest(\'https://javascript.ru/forum/misc/72129-vyvod-bolshogo-teksta.html\')

Артист 11.01.2018 01:10

Кодировку у скрипта поменял - заработало.
Но текст по прежнему кракозябрами отображается...
И только на том сайте...

Артист 12.01.2018 01:16

Блин, вообще не удобно работать на 2х кодировках...
Мне из скрипта, что в ANSI нужно вернуть строку в UTF.
Поменял кодировку обратно на UTF, стал писать русский текст так:
\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD


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

Может есть какая-нибудь функция, которая весь текст перекодирует в UTF?
Типа:
UrlEncodeData

Aetae 12.01.2018 02:34

xhr.overrideMimeType('text/html; charset=windows-1251');
А вообще все файлы должны быть в одной кодировке. Всё остальное ересь и жопа может произойти в любой момент, даже если удалось заставить что-то работать.


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