Angular Http Options и Delete отправляет два запроса? - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь отправить запрос на сервер, чтобы удалить объект на основе идентификатора.Я использую Web Api в качестве серверной части.

Угловой

removable: string = 'http://localhost:49579/api/resource/remove/28';

     this._http.options(removable,{headers}).subscribe((value)=>console.log("success"),(error)=>console.log(error));

WebApi

    [HttpOptions]
    [Route("api/resource/remove/{id}")]
    public IHttpActionResult Delete([FromUri] int id)
    {

        if (MovieRepository.Remove(id))
        {
            return Ok("Movie was removed");
        }
        else
        {
            return BadRequest("Movie was not removed");
        }
    }
}

Я получаюназад два запроса, один в порядке, а другой - плохой запрос.Я также попробовал это с Http DELETE, но он производит тот же эффект.Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

У меня раньше была такая же проблема, и это ожидаемое поведение, связанное с CORS

Тогда у вас будет два запроса на стороне сервера, но только один ответ на обратный вызов на внешнем интерфейсе, так что мойРекомендуется проверить первый запрос OPTION на стороне сервера, а во внешнем интерфейсе вы получите только один ответ на обратный вызов

ссылка

0 голосов
/ 28 мая 2018

Попробуйте перейти к фактическому запросу DELETE:

this._http.delete(removable,{headers}).subscribe((value)=>console.log("success"),(error)=>console.log(error));

Не уверен, почему вы бы вручную вызвали запрос options, Angular уже делает это для каждого вашего запроса.

...