Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как выести данные через JSON (https://javascript.ru/forum/dom-window/45199-kak-vyesti-dannye-cherez-json.html)

danik.js 18.02.2014 20:49

Вобще, вместо GET лучше POST, а то в каких-то браузерах запрос может кэшироваться.
Или выставь запрет кэширования на сервере через заголовки. Даже не "или", а это прям обязательно нужно сделать, если твои данные не должны кэшироваться.

kostyanet 19.02.2014 16:13

В маразме на 1000 строк может быть предусмотрено обслуживание заголовков через status. Без этого не поймешь что пришло - ок или идитена. При условии, конечно, что скрипт выдает адекватные заголовки, а не умалчивает, на что сервер бодро рапортует: 200 ок, 200 ок, 200 ок.

kostyanet 19.02.2014 16:52

Кириллица в заголовках канает как и ожидалось по урлам.

php: header('HTTP/1.0 200 '.urlencode('Получено'));

js: console.log(decodeURI(link.statusText));

Результат:

GET http://тутсайт/ [HTTP/1.0 200 %D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%BE 15ms]

20:05:20.430 "Получено"

Интересно, а какова максимальная длина reason-phrase? Может и никакого джисона не надо - вали все в хедер и готово.

danik.js 19.02.2014 17:06

Цитата:

Сообщение от kostyanet
В маразме на 1000 строк может быть предусмотрено обслуживание заголовков через status

Это хорошо, когда скрипт хз с каким сервером работает и хз че может произойти. Но когда пишешь свой скрипт для работы на своем сервере - нахер эти заморочки? Ну status конечно лучше обрабатывать, ну на крайняк можно в Console/Network заглянуть. В конце концов жили же как-то до jQuery )))

mrKot 19.02.2014 17:25

тебе спасибо большое помог))) там у меня была тема огибка JS ошибку нашел просто забыл добавить свой домен в manifest.json и оно такое выдавало)

kostyanet 19.02.2014 17:38

Однако пишут что православно заголовок надо кодировать типа через такую фичу на php конкретно:

mb_encode_mimeheader()

Это я по интуиции из RFC 2047 уловил. Но если напрямую вывести через алерт, получается то, что получается:

=?UTF-8?B?0KLRgNC10LHRg9C10YLRgdGPINCw0LLRgtC+0YDQuNC30L DRhtC40Y8=?=

Кто сам отправлял имейлы с сервера - видел такую шнягу. В бнопне написано: Требуется авторизация. Кодировка UTF-8, Binary.

Ну вот, а перевести на русский обратно можно средствами ява-скрипт?

Через url-кодирование работает четко (кстати надо rawurlencode применять иначе пробелы+станут+плюсами), но RFC жжот!

mrKot 19.02.2014 17:47

Вот это я баран(((


Как тут вывести данные что-то я не пойму я уже понял как их получать)))

Ну не пойму как их вывести на экран

вот код

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$.getJSON('http://prisonvk.mikce.ru/prisonvk/stat.php?method=piar&uid=100&format=json&browser=c hrome&version=2011', function(response){
alert(response.response.data.uid);
alert(response.response.data.damage);

});

</script>

kostyanet 19.02.2014 18:26

В окно браузера? Там же есть какая-то разметка - туда. Или как там document.write(some);

kostyanet 19.02.2014 18:29

Типичнее некуда

Где-то на странице...

<span id="data_uid"></span>


в функции на событии ответа сервера

document.getElementById('data_uid').textContent = responce.response.data.uid

kostyanet 19.02.2014 18:31

По заголовкам оффтоп продолжу. Оказывается требуется аналог функции imap_utf8 которая делает Converts MIME-encoded text to UTF-8 ... are described in » RFC2047 and » RFC2044 respectively.


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