2014-05-02 1 views
1

Я создал интерфейс с помощью экспресс и мангуста для извлечения данных из mongodb и отправки его на клиентскую сторону. Он отлично работает, когда я получаю данные с помощью wget на терминале linux и на html браузеры. Но когда я запрашиваю данные с помощью углового метода js $ http, он показывает мне следующие ошибки.Извлечение данных из угловой директивы с использованием экспресс-интерфейса

No 'Access-Control-Allow-Origin' header is present on the requested resource.   Origin 'http://127.0.0.1:9000' is therefore not allowed access. 

Может кто-нибудь предложить мне ошибку ofr, как избавиться от этой проблемы. Thanx заранее.

ответ

2

Вы пытаетесь выполнить вызов AJAX ($ http.get) с другого хоста/домена/IP. Я предполагаю, что вы используете свое угловое приложение на http://localhost или http://127.0.0.1, и вы используете Node на http://127.0.0.1:9000, который отличается от Origin. Существует два решения:

  1. Запустите их на одном и том же имени хоста, например, на локальном хосте или на обоих 127.0.0.1.
  2. Добавьте HTTP-заголовок Access-Control-Allow-Origin из узла, позволяя вашему Угловому хосту (источнику) получить доступ к задней части через AJAX.

Причина для всего этого - мера безопасности, поэтому веб-сайты не могут просто загружать любой другой веб-сайт в Интернете без явного разрешения. В противном случае вредоносные веб-сайты могли бы выполнить вызов AJAX на ваш PayPal или банковский счет, например.

Смежные вопросы