Нуждался в том, чтобы переслать API Rest в Веб сервер

у меня есть одна API Rest который я использую в помещении и нуждаюсь в том, чтобы переслать ее в Веб сервер. Проблема, которая у меня есть, - что она не конфигурироваться однажды пересланная для того, чтобы оно общалось с базой данных SQL сервера.

Ошибка, которую я получаю, - эта:

XMLHttpRequest cannot load http://error.hostinger.eu/?. 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://hanoi.hol.es' is therefore not allowed access. 

Это первый раз, что я должен пересылать вещи в сервер, извините мое неведение :)

PD: я только что понял, что api проводит встроенными CORS.

header("Access-Control-Allow-Orgin: *"); header("Access-Control-Allow-Methods: *"); header("Content-Type: application/json");

PD-2: только из-за того, что он отказался бы, адрес для того, чтобы он присоединился в базу данных, должен бы быть этим $_server = "mysql.hostinger.es"; ?

5
задан 08.06.2016, 21:50
3 ответа

Зная, что ты используешь Hostinger, это среда LAMP (хотя я продолжаю думать, что его были бы должны звать GLAMP, G GNU) хороший, возвращаясь в ответ:

В root твоего интернет-сайта (где он public_html) есть так называемый файл .htaccess в вышеупомянутый файл, он добавляет следующую линию:

 Header set Access-Control-Allow-Origin "*"

Последуй со всем power за разработкой! и помни, никто не родился зная, мы все изучаем, и если он в команде, лучше :D

2
ответ дан 24.11.2019, 14:13
  • 1
    Благодаря всем из-за помощи. Я поместил Header set Access-Control-Allow-Origin "*" в .htaccess, но нет никакого различия. Если вы могли показывать меня, как помещать это в PHP api, так как я - студент, и мое знание на PHP минимальное. – Subte 08.06.2016, 21:38
  • 2
    Ничего, ты остаешься с той же ошибкой или сейчас у тебя выходит что-то различно? – fredyfx 08.06.2016, 21:57

Эта ошибка - это очень общая, чтобы реализовывать просьбы в услугу Api Rest/Ful, нужно давать сначала разрешения dominios/host, где они будут иссохшими Api.

Ты можешь давать только одному разрешение или домены, которые ты хочешь

Пример:

('Access-Control-Allow-Origin: http://misitio1.com');
('Access-Control-Allow-Origin: http://otrositio.com');
('Access-Control-Allow-Origin: https://www.tusitio2.com');
('Access-Control-Allow-Origin: http://www.ejemplo.com');

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

Больше информации в Mozilla: Access_control_CORS

А именно твой сервер, когда он получает просьбу, подтверждает host откуда ты это просишь, и если он находится в Вашем списке разрешенных host, он посылает тебе данные.

Используя PHP

Установи следующий заголовок во всех ресурсах, который возвращает какую-то просьбу.

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

Используя Апачи в .htaccess

Установи следующий директивный орган в файле .htaccess твоего сервера.

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>
2
ответ дан 24.11.2019, 14:13

обычно, когда ты работаешь API в помещении с механизмом базы данных SQL, ты определяешь адрес в, какой дебет указывать на API, которая в помещении состоит localhost или 127.0.0.1, в том, что они тем же самым. Сейчас, когда твое приложение будет на сервере, ты должен определять адрес твоего сервера больше порт, например:: То, что находится в знаках <(несовершеннолетний что) y> (больше которые) должны смениться на данные о твоем сервере и удалять эти знаки.

Нужно доводить до сведения, что данные об удостоверении могут меняться, так что я рекомендую тебе проверять пользователь и пароль базы данных сервера для того, чтобы ты изменил их также на твой API.

Если ты получаешь esl следующую ошибку: XMLHttpRequest cannot load http://error.hostinger.eu/?. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://hanoi.hol.es' is therefore not allowed access

он, потому что ты не выполняешь эту эту политику [Политику того же orígen] (https://es.wikipedia.org/wiki/Pol%C3%ADtica_del_mismo_origen), что определяет, что сервер не может принимать просьбы различного домена. Есть два способа это решать: с клиента с JSONP или с CORS с сервера, где наиболее рекомендуемый он состоит в том, чтобы использовать CORS, потому что, если ты это делаешь с JSONP, каждый клиент был бы должен осуществлять это, взамен, если ты это делаешь с сервера только, ты это делаешь однажды. Для твоего специфического случая ищи лучший способ добавлять CORS, например, если это JAVA, он ищет: "add cors to java Веб application" или если он для nodeJS с Express, ты можешь искать: "add CORS to express" и я схватил последовательно, согласно framework, который ты используешь

0
ответ дан 24.11.2019, 14:13
  • 1
    Ошибка, которую я получаю, - эта: XMLHttpRequest cannot load http://error.hostinger.eu/?. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://hanoi.hol.es' is therefore not allowed access. - первый раз, что я должен пересылать вещи в сервер, извините мое неведение:) – Subte 07.06.2016, 21:18
  • 2
    Стой, издавать и # 233; ответ, чтобы давать тебе большую величину относительно этого. – Cristian Hoyos 08.06.2016, 01:44