Как прекратить получать эту ошибку Ответ на предпечатный запрос не проходит проверку контроля доступа - PullRequest
0 голосов
/ 04 октября 2018

Я новичок в этом (и мой английский плохо, извините).Я пытаюсь получить тип контента из URL.У меня есть этот код:

 var xmlHttpRequest = new XMLHttpRequest();
        xmlHttpRequest.open("HEAD", url, true);
        xmlHttpRequest.setRequestHeader("Access-Control-Allow-Origin", "*");
        xmlHttpRequest.setRequestHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS");
        xmlHttpRequest.setRequestHeader("Access-Control-Max-Age", "3600");
        xmlHttpRequest.setRequestHeader("Access-Control-Allow-Credentials", "true");
        xmlHttpRequest.setRequestHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        xmlHttpRequest.onreadystatechange = function () {
            if (this.readyState == this.DONE) {
                var contentType = xmlHttpRequest.getResponseHeader("Content-Type");
                console.log("CommonService.js", xmlHttpRequest.getResponseHeader("Content-Type"));
            }
        };     
        xmlHttpRequest.send();

на webConfig, у меня есть это:

  <system.webServer>
<httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>
    </httpProtocol>
  <system.webServer>

, и это ошибка, которую я получаю, в журнале консоли:

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:32100' is therefore not allowed access.

1 Ответ

0 голосов
/ 08 октября 2018

Я не нашел решения того, что происходило, поэтому я решил использовать c #:

    WebRequest request = WebRequest.Create(companyPoliticsDTO.PDFFileUrl); //generate 404

        try
        {
            WebResponse response = request.GetResponse();
            var contentType = response.ContentType;
            return Ok(contentType);
        }
        catch (WebException ex)
        {
            HttpWebResponse errorResponse = ex.Response as HttpWebResponse;

        }

эта работа отлично.

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