Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.01.2017, 17:28
Интересующийся
Отправить личное сообщение для r1sus Посмотреть профиль Найти все сообщения от r1sus
 
Регистрация: 22.02.2016
Сообщений: 26

Связка angular2 с API
Передо мной стоит задача связать форму регистрации с api. Отправляю данные post запросом, но данные отправляются запросом options. Как я подозреваю, браузер в целях безопасности запрещает кросс-доменные запросы. Как мне быть в этой ситуации? Я должна еще что-то настроить в angular или это проблема на сервере? Это пример файла http.service.ts
export class HttpAddUserService {

constructor(private http: Http) { }

postData(obj: AddUser) {
    const body = JSON.stringify(obj);

    let headers = new Headers({ 'Content-Type': 'application/json' });

    return this.http.post('http://..../api/adduser', body, { headers: headers })
        .map((resp:Response)=>resp.json())
        .catch((error:any) =>{return Observable.throw(error);});
    }
}

Последний раз редактировалось r1sus, 24.01.2017 в 15:07.
Ответить с цитированием
  #2 (permalink)  
Старый 23.01.2017, 18:07
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Добавьте заголовок Access-Control-Allow-Origin (от сервера).
https://developer.mozilla.org/en-US/...s_control_CORS
Ответить с цитированием
  #3 (permalink)  
Старый 23.01.2017, 18:28
Интересующийся
Отправить личное сообщение для r1sus Посмотреть профиль Найти все сообщения от r1sus
 
Регистрация: 22.02.2016
Сообщений: 26

спасибо за совет,
не имею доступа к серверной стороне

Последний раз редактировалось r1sus, 23.01.2017 в 18:34.
Ответить с цитированием
  #4 (permalink)  
Старый 23.01.2017, 19:26
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Если вы не хакир и не собираетесь взламывать интернет, то у вас только два пути:
1) Добавьте все таки нужный заголовок от сервера
2) Использовать только "простые" запросы.

Вот информация о простых запросах:
https://www.w3.org/TR/cors/#simple-method
https://www.w3.org/TR/cors/#simple-header
Ответить с цитированием
  #5 (permalink)  
Старый 23.01.2017, 20:15
Интересующийся
Отправить личное сообщение для r1sus Посмотреть профиль Найти все сообщения от r1sus
 
Регистрация: 22.02.2016
Сообщений: 26

Спасибо за советы. Просто серверная часть на одном домене, делал один человек, а я делаю фронт на своём личном хостинге. Поняла что это так и должно происходить.
Когда файлы будут на одном домене надеюсь таких проблем не будет!
Спасибо ещё раз
Ответить с цитированием
  #6 (permalink)  
Старый 24.01.2017, 19:56
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Для разработки можно воспользоваться плагинами типа cors toggle(для хрома) и cross domain - cors (для фокса). Может еще какие-то есть.
Ответить с цитированием
  #7 (permalink)  
Старый 25.01.2017, 08:36
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Сообщение от r1sus Посмотреть сообщение
спасибо за совет,
не имею доступа к серверной стороне
Для разработки и написания тестов можно воспользоваться заглушкой в виде MockBackend https://blog.thoughtram.io/angular/2...angular-2.html
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается вывод данных из RESTful api Wahtel Общие вопросы Javascript 1 16.08.2015 10:30
Проверка статуса авторизации через open api на сайте (vk.com api) mecer Общие вопросы Javascript 4 06.05.2014 08:31
Посоветуйте как улучшить код для работы с history api [ jquery + js + history api ] Geo Ваши сайты и скрипты 0 12.01.2014 00:41
HTML5 Geolocation API, вопрос о снятии данных User-Agent (X)HTML/CSS 2 22.02.2013 20:09
MVC vs API. Ваше мнение. B~Vladi Общие вопросы Javascript 58 19.10.2010 16:29