2016-05-14 2 views
0

Я пытаюсь подключиться к внешнему POST-апи для аутентификации. Пытаюсь:Подключение к REST API от ANGULAR

$http({ 
    method : 'POST', 
    url  : 'myURL', 
    data : {"j_username": "myUserName,"j_password": "myPassword"}, 
    headers : { 
     'Content-Type': 'application/x-www-form-urlencoded', 
    } 
}) 

Но я получаю эту ошибку:

XMLHttpRequest не может загрузить http://...url. Ответ на предполетный период недействительный (перенаправление)

+0

Возможно, дубликат http://stackoverflow.com/q/33660712/367865 – Ouroborus

+0

Ошибка сообщает вам, что при запросе этот URL перенаправляется к другому. Проверьте это [ответ] (http://stackoverflow.com/a/36221621/1488993) для получения дополнительной информации. – Doon

+0

У вас есть недостающая метка после myUserName тоже – rrd

ответ

2

Это похоже на проблему CORS. Если javascript подан из другого домена, чем домен API, который вы вызываете, вы столкнетесь с проблемами CORS. Короче говоря, браузер обнаружит, что javascript был отправлен из домена A и что API находится в домене B. Что происходит дальше, зависит от того, что вы пытаетесь сделать, в этом случае вы выполняете POST, что означает, что браузер будет отправьте предполетную проверку на сервер API, чтобы спросить, хорошо ли это с помощью этого javascript из домена A, доступного ему. Сервер должен ответить, чтобы сказать «да», чтобы браузер разрешил запрос (на самом деле это немного сложнее, чем «говорить« да », но вы получаете идею).

Одним словом, для этого необходимо настроить сервер API. Если это не ваш API, вам нужно спросить тех, кто владеет этим API, если они могут настроить CORS, чтобы ваш javascript мог получить к нему доступ.

Если вам нужно работать с такими настройками, стоит потратить время, чтобы прочитать его и понять правильно. С другой стороны, возможно, вы просто пинали что-то с локальным файлом js, и в этом случае вам просто нужно знать, что он не будет работать так.

См. Также https://stackoverflow.com/a/23824093/11534.

+0

сервер не отвечает, говоря «да» * .... это упрощение работы CORS – charlietfl

+0

@charlietfll - абсолютно согласен Я просто хотел объяснить основную проблему:) – Frans

+0

Нужно ли мне сделать еще одну конфигурацию? –

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