Как обойти политику происхождения креста

Мобильное приложение, где ему необходимо получить доступ к файлу JSON на другом сервере. И его политика перекрестного происхождения заблокирована. Так есть ли способ обойти или получить доступ к файлу?

Как уже было сказано, вам нужен простой скрипт php proxy.

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

<?php header('Content-Type: application/json'); echo file_get_contents('http://example.com/data.json'); ?> 

Proxy.php

 <?php header('Content-Type: application/json'); echo file_get_contents('http://example.com/'.$_REQUEST['file']); ?> 

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

 if (isset($_REQUEST['query'])) { $sQuery = http_build_query($_REQUEST); header('Content-Type: application/json'); echo file_get_contents('https://www.example.com?'.$sQuery); exit; } ?> 

Используя второй пример, вы можете попробовать что-то вроде http://localhost/proxy.php?file=somefile.json

МЕТОД ХАРАКТЕРА

Обратитесь к следующей странице об использовании файла htaccess на сервере htaccess Access-Control-Allow-Origin

 <FilesMatch ".(json|js|jsn)"> Header set Access-Control-Allow-Origin "*" </FilesMatch> 

Используйте функцию заголовка. проверить эту ссылку, как обойти Access-Control-Allow-Origin?

  header('Access-Control-Allow-Origin: *'); 

Вы классифицировали это под PHP. Вам следовало бы получить JSON с PHP, а затем использовать PHP для создания данных, требуемых JS.

Без дополнительной информации о вашем приложении я здесь очень ограничен.

Это очень типичный пример PHP для ввода json-данных в JavaScript:

 $json = json_decode(file_get_contents('http://example.com/data.jsn'),true); $JS = 'var data = '; foreach ($json as $key => $value){ $JS .= "[$key,$value]," } $JS = substr($JS,0,-1) . ';'; // remove trailing comma, add semicolon echo <<<EOT <script type="text/javascript">//<![CDATA[ $JS //]]> </script> EOT;