Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2018, 14:11
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Какая ошибка вывода в Json?
Вывожу данные статистики:

PHP

<?PHP
$i = parse_ini_string(file_get_contents('http://counter.yadro.ru/values?site=devaka.ru'));
file_put_contents('st.json',json_encode($i));
?>


JSON

{"LI_site":"devaka.ru","LI_month_hit":"109891","LI_month_vis":"49790","LI_week_hit":"26620","LI_week_vis":"14228","LI_day_hit":"5207","LI_day_vis":"3393","LI_today_hit":"335","LI_today_vis":"232","LI_online_hit":"11","LI_online_vis":"6"}



HTML

<div class="lives"></div>

<script>
$.getJSON(".s08.test-hf.su/st.json", function(data) {
 $('.lives').html(LI_site);
});
</script>




Подскажите что тут неверно? Почему не работает?

Последний раз редактировалось spinastr, 15.03.2018 в 16:49.
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2018, 14:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от spinastr
Почему не работает?
Потому, что нет такого на клиенте, есть data.LI_site.

file_put_contents('st.json',json_encode($i)); - это зачем?

$.getJSON должен обращаться к файлу сценария, который делает запрос к другому домену и сразу возвращает нужное:

<?
if($f = file_get_contents('http://counter.yadro.ru/values?site=devaka.ru')) {
    exit(json_encode(parse_ini_string($f)));
} else exit(json_encode(['error'=>'Text error.']));
Ответить с цитированием
  #3 (permalink)  
Старый 07.03.2018, 14:32
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

На самом сайте у меня нету PHP и нужно через json выводить со стороннего хостинга.
Добавил ваш код в php? а дальше что делать я в js и php не особо разбираюсь. Подскажите пожалуйста?

Последний раз редактировалось spinastr, 14.03.2018 в 02:42.
Ответить с цитированием
  #4 (permalink)  
Старый 07.03.2018, 14:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ничего не делать, изменить url запроса в $.getJSON.
Ответить с цитированием
  #5 (permalink)  
Старый 07.03.2018, 14:38
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

Подскажите как игде изменить в js или php

я написал так и неработает

<div class="lives"></div>
 
<script>
$.getJSON("http://h116641.s08.test-hf.su/st.php", function(data) {
$('.lives').html(data.LI_site);
});
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 07.03.2018, 14:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Если http://h116641.s08.test-hf.su/st.php, это файл выполняющий указанный код, то все должно работать. Ошибки могут быть только на клиенте.

PS. Конечно, если это запрашивает также домен h116641.s08.test-hf.su. В противном случае нужно разрешение, перечитывайте тему о курсах валют, так об этом говорилось - о заголовках, которые должен отдавать домен h116641.s08.test-hf.su.

Последний раз редактировалось laimas, 07.03.2018 в 14:43.
Ответить с цитированием
  #7 (permalink)  
Старый 07.03.2018, 14:42
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,
У меня сайт на юкоз там нету php, как можно перевести php в json и оттуда через js вывести данные в div?
Ответить с цитированием
  #8 (permalink)  
Старый 07.03.2018, 14:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Читайте постскриптум выше.
Ответить с цитированием
  #9 (permalink)  
Старый 07.03.2018, 14:47
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

В этом домене на эти файлы ещё не ставил ограничения как с курсом

Я всю ночь читал и уже забыл, подскажите? Как вывести?

Почему я делал через json?
Сообщение от laimas
file_put_contents('st.json',json_encode($i)); - это зачем?
Вы так сказали?

Про заголовки, есть такой фаил


index.php


<?php
header('Access-Control-Allow-Origin: Мой сайт');
header('Vary: Origin');
header('Access-Control-Allow-Methods: GET');
header('Content-type: application/json; charset=utf-8');
exit(file_get_contents('current/current.json'));
?>

Последний раз редактировалось spinastr, 07.03.2018 в 14:56.
Ответить с цитированием
  #10 (permalink)  
Старый 07.03.2018, 15:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Если домен h116641.s08.test-hf.su отдает и курсы валют и прочую информацию, то разрешение для домена ее запрашивающую нужно поместить в файл .htaccess, который размещен в корне документов на домене h116641.s08.test-hf.su. Эти строки нужно поместить в этот файл:

Header add Access-Control-Allow-Origin "домен вашего сайта"
Header add Vary "Origin"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "GET, POST"

Из index.php нужно удалить передачу этих заголовков, то есть в нем должно быть:

<?php
header('Content-type: application/json; charset=utf-8');
exit(file_get_contents('current/current.json'));
?>


Передавать заголовок header('Content-type: application/json; charset=utf-8'); должен и файл отдающий другую информацию в формате JSON.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какая здесь ошибка? Program_cat Общие вопросы Javascript 3 01.11.2017 20:58
Ребята помогите какая ошибка в скрипте php? xddanik Серверные языки и технологии 2 25.04.2015 21:44
Ошибка в функции вывода анимации при ожидании ответа сервера Эдди AJAX и COMET 4 26.05.2014 23:59
JSON ошибка c <script></script> AkidSe AJAX и COMET 13 22.12.2013 19:16
Почему ошибка с JSON OklickSpb AJAX и COMET 13 21.10.2012 13:40