Показать сообщение отдельно
  #66 (permalink)  
Старый 09.02.2018, 04:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

4)

Я не буду разбираться что есть что среди ваших доменов, какой РНР, какой хочет курс у РНР. Я напишу условно, далее сами подставляйте реальное в код.

Пусть домен (сайт) запрашивающий курс валюты у ЦБ, это http://domain_1
Домен который выводит курс на страницу и которому он и нужен, это домен http://domain_2

Тогда код индексного файла будет таким:

<?
header('Access-Control-Allow-Origin: http://domain_2');
header('Vary: Origin');
header('Access-Control-Allow-Methods: GET');
header('Content-type: application/json; charset=utf-8');
exit(file_get_contents('current/current.json'));
?>


Я убрал проверку наличия файла курса, вот эту строку:
exit(file_exists('current/current.json') ? file_get_contents(current/current.json) : json_encode(false));

Приготовьте такой файл (current.json) и поместите его в папку current. Это можно сделать запустив и current.php, но не хочу еще кучи долгих пояснений, поэтому возьмите этот текст как исходный:

{"current":{"date":"8.2.2018","value":56.95,"rate" :"▼"},"previous":{"date":"7.2.2018","value":57.2 2,"rate":"▲"}}

В браузере запросить курс за три дня http://www.cbr.ru/scripts/XML_dynami...L_NM_RQ=R01235, указав в параметрах: date_req1=минус два дня от текущей даты, date_req2=текущую дату, в формате dd/mm/YYYY. Ручками все просчитать, заменив в тексте выше, и этот текст сохранить в папке current под именем current.json.

На клиенте Ajax запрос будет к http://domain_1/, а проверка пришел ли ответ будет уже не в плане есть ли уже курс на http://domain_1, он гарантированно есть, а в плане вернул ли вообще сервер ответ (ошибки и т.п.).

Последний раз редактировалось laimas, 09.02.2018 в 04:31.
Ответить с цитированием