Firefox говорит, что CORS «Access-Control-Allow-Origin» отсутствует », но это не так - PullRequest
0 голосов
/ 10 октября 2019

У меня есть вызов ajax для запроса HTTP-сервера Python. Firefox говорит, что CORS-заголовок «Access-Control-Allow-Origin» отсутствует », но это ложь. Firefox показывает сам заголовок источника.

Pyton-код:

class DepmanHTTPRequestHandler(BaseHTTPRequestHandler):

  def do_GET(self):
    ...
    self.send_header('Access-Control-Allow-Origin', '*')
    self.send_header('Access-Control-Allow-Credentials', 'true')
    self.send_header('Vary', 'Origin')
    self.send_header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE, OPTIONS')
    self.send_header("Access-Control-Allow-Headers", "Content-Type")
    ...
    self.send_response(200)
    self.end_headers()

jquery ajax call:

...
$.ajax({
        url: url,            // url variable builted before
        type: 'get',
        dataType: "text/plain",
        cache: false,
        processData: false,
        xhrFields: {
            withCredentials: true
        },
        success: function (data) {
            //var result = data.d.results;
            //var i = result.length;
            $("#result_area").html("Unbeliveble. It's done:<br/>" + data)
        },
        error: function (err) {
            $("#result_area").html("Error:<br/>" + JSON.stringify(err));
        },
        complete: function(data) {
            $("#result_area").html() + "<br/>Call finaly completed"

        }

Firefox отправляет запрос и с гордостью говорит «Access-ControlЗаголовок CORS -Allow-Origin ”отсутствует». Но это все еще ложь. Инструмент разработки Firefox показывает сам заголовок ответа:

Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Vary: Origin
Access-Control-Allow-Methods: GET,PUT,POST,DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type
HTTP/1.0 200 OK
Server: BaseHTTP/0.6 Python/3.7.4
Date: Thu, 10 Oct 2019 14:49:13 GMT

Итак, как это может быть?!?

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