Javascript fetch - проблема с чтением неверного ответа на запрос - PullRequest
1 голос
/ 25 мая 2019

У меня есть главный сервер asp.net, которому в данном случае преднамеренно была отправлена ​​выборка, которая выдает неправильный ответ на запрос.

Вот часть контроллера, которая делает это:

    [HttpPost]
    [AllowAnonymous]
    public async Task<IActionResult> Get([FromBody] LoginViewModel model)
    {
        MembershipContext _userContext = _tokenService.ValidateUser(model.Email, model.Password);

        if (_userContext.Principal == null)
        {
            logger.LogInformation($"Invalid username ({model.Email}) or password ({model.Password})");
            return BadRequest("Invalid credentials"); // Here..
        }...

Неверный запрос содержит «Неверные учетные данные» как часть возврата.

В браузере и откуда я делаю выборку, я получаю response.status как «400» и «плохой запрос», все хорошо, но я не могу найти, где я могу проверить «Неверные учетные данные» - не могу найти, где он есть.

Вот мой выбор ...

    // Lets do a fetch!
    const task = fetch("/api/jwt", {
        method: "POST",
        body: JSON.stringify(this.userLogin),
        headers: new Headers({ 'content-type': 'application/json' })
    })
        .then(response => {
            console.log("STATUS: ", response.status, response.statusText)
            return response.json()})
        .then(data => {
            console.log("got here", data)
            localStorage.setItem(this.TOKEN_KEY, JSON.stringify(data));
        })
        .then(() => {... so on..

Как проверить ответ на «Неверные учетные данные»? Я могу проверить плохой ответ, но было бы лучше проверить, что сервер действительно отправил с этим ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...