2016-06-07 2 views
4

Я пытаюсь имитировать логин пользователя по угловому2 Http. пусть описывают ситуацию как рев.
У меня есть приложение php, которое пользователи могут вводить в систему. http://sample.com/login.php url (форма существует с именем пользователя и паролем, пользователь должен заполнить ввод и нажать кнопку отправки), и если логин будет успешным, они перенаправляются на http://sample.com/dashboard.php.
поэтому я создаю сообщение Http с данными формы, в которых есть «имя пользователя» и «пароль». и установить Http-заголовок content-type как application/x-www-form-urlencoded.
Вход в систему работает нормально и запрос автоматически перенаправляется на http://sample.com/dashboard.php.
проблема заключается в том, что мне нужно получить заголовок ответа первого запроса (http://sample.com/login.php), но Http ответит мне второй заголовок ответа запроса (http://sample.com/dashboard.php).
- это любой способ предотвратить перенаправление Http? или выбросить ошибку на статус 302?Angular2, Как предотвратить перенаправление HTTP

var headers = new Headers({'Content-Type':'application/x-www-form-urlencoded'}); 
var options = new RequestOptions({ headers: headers }); 
Http.post("http://sample.com/login.php",'username=admin&password=123' , options) 
    .subscribe(success => { 
     // success and return redirected response 
     // response of http://sample.com/dashboard.php 
    }, error => { 
     // error handler 
    } 
); 
+0

вы проверили success.status? –

+0

@ A.T. его возвращение 200, статус запроса перенаправления – Shayan

+0

@ Shadow Wizard Я бы не счел это * точным * дубликатом. Этот вопрос специфичен для Angular 2, поэтому, отмечая это как дубликат, подразумевается, что все, кто наткнулся на этот вопрос, знают, что HTTP-служба Angular 2 использует XMLHttpRequest под капотом. Я очень сомневаюсь в этом: иначе 1000 зрителей этого вопроса могли бы искать HXMLHttpRequest напрямую и никогда бы не приземлились здесь. ИМО правильный ответ, что HTTP-служба Angular использует XMLHttpRequest (вместе со ссылкой на вопрос, который вы отметили как дубликат) – emrass

ответ

1

Это невозможно, поскольку XMLHttpRequest (API низкого уровня) не предоставляет такой метод.

Для получения более подробной информации смотрите на это:

Prevent redirection of Xmlhttprequest

+1

Это дубликат, в следующий раз лучший флаг. –

+0

спасибо, не знал, что могу отмечать дубликаты. – zpul

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