запрос заблокирован политикой CORS даже после установки заголовков - PullRequest
0 голосов
/ 25 марта 2019

Я написал облачную функцию, которая принимает запрос и выполняет его обработку.Он работает, как и ожидалось, когда он из того же домена API.Но в случае перекрестного запроса API я получаю следующую ошибку:

Access to XMLHttpRequest at ’URL' from origin ‘URL2’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

Даже я изменил код в соответствии с предложением облачной платформы Google, но он не работает

if request.method == 'OPTIONS':
    headers = {
        'Access-Control-Allow-Origin': '*',
        'Access-Control-Allow-Methods': 'POST',
        'Access-Control-Allow-Headers': 'Authorization',
        'Access-Control-Max-Age': '3600',
        'Access-Control-Allow-Credentials': 'true'
    }
    return ("",200,headers)
headers = {
    'Access-Control-Allow-Origin': '*',
    'Access-Control-Allow-Methods': 'POST',
    'Access-Control-Allow-Headers': 'Authorization',
    'Access-Control-Max-Age': '3600',
    'Access-Control-Allow-Credentials': 'true'
}
return ("Successfully inserted",200,headers)

Хотяотправка запроса ОПЦИИ в python, заголовки

{'Access-Control-Allow-Credentials': 'true', 'Access-Control-Allow-Headers': 'Authorization', 'Access-Control-Allow-Methods': 'POST', 'Access-Control-Allow-Origin': '*', 'Access-Control-Max-Age': '3600', 'Content-Type': 'text/html; charset=utf-8', 'Function-Execution-Id': '6bkxaumbvg7x', 'X-Cloud-Trace-Context': '2fd8aec285f8af1d36c8c45ff1184a20;o=1', 'Date': 'Mon, 25 Mar 2019 09:41:08 GMT', 'Server': 'Google Frontend', 'Content-Length': '0', 'Alt-Svc': 'quic=":443"; ma=2592000; v="46,44,43,39"'}

Пожалуйста, совет

1 Ответ

0 голосов
/ 26 марта 2019

Я только что закомментировал приведенные ниже команды AJAX, которые используются для отправки запроса к коду Python

//xhr.withCredentials = true;
//xhr.setRequestHeader("Postman-Token", "cecaf566-fd7a-4992-8b65-cc66c074f264");

и это сработало. Извините за то, что вы не публикуете AJAX в первую очередь, потому что я думал, что проблема связана с сервером, чтобы ответить на запрос.

...