Чтобы скрыть эти подсказки, вы можете просто добавить "editor.parameterHints": false
к своему settings.json
. Найден ответ здесь .
Вы сталкиваетесь с проблемами CORS.
Есть несколько способов исправить это.
Более того, вы пытаетесь получить доступ к api.serverurl.com из localhost. Это точное определение запроса на перекрестный домен.
. Отвернув его, просто для того, чтобы выполнить вашу работу (хорошо, приложите плохую защиту для вас, если вы посетите другие сайты и просто удалите банку по дороге) вы можете использовать прокси-сервер, который заставляет ваш браузер думать, что все запросы поступают с локального хоста, когда у вас есть локальный сервер, который затем вызывает удаленный сервер.
, поэтому api.serverurl.com может стать localhost: 8000 / api, и ваш локальный nginx или другой прокси отправит правильное место назначения.
Теперь, пользуясь популярностью, [ На 100% больше информации о CORS .... тот же отличный вкус!
И для downvoters .... в обход CORS это именно то, что показано для тех, кто просто изучает фронт конец. https://codecraft.tv/courses/angular/http/http-with-promises/
В AspNetCore web api эта проблема исправлена добавлением «Microsoft.AspNetCore.Cors» (версия 1.1.1) и добавлением ниже изменений в Startup.cs.
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAllHeaders",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
.
.
.
}
и
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
// Shows UseCors with named policy.
app.UseCors("AllowAllHeaders");
.
.
.
}
и поместив [EnableCors("AllowAllHeaders")]
на контроллер.
В PHP вы можете добавить заголовки:
<?php
header ("Access-Control-Allow-Origin: *");
header ("Access-Control-Expose-Headers: Content-Length, X-JSON");
header ("Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS");
header ("Access-Control-Allow-Headers: *");
...
, вы должны добавить manifest.json
разрешения для своего домена (ов).
"permissions": [
"http://example.com/*",
"https://example.com/*"
]
В моем конфигурационном файле Apache VirtualHost я добавил следующие строки:
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization,$
– Pere
3 April 2017 в 10:27
Мой «API-сервер» - это приложение PHP, поэтому для решения этой проблемы я нашел, что работающее ниже решение работает:
Поместите строки в index.php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
JavaScript XMLHttpRequest и Fetch следуют политике одного и того же происхождения. Таким образом, веб-приложение, использующее XMLHttpRequest или Fetch, могло только делать HTTP-запросы в своем собственном домене.
Источник: https://developer.mozilla.org/en-US/docs / Web / HTTP / Access_control_CORS
Вы должны отправить HTTP-заголовок Access-Control-Allow-Origin: * со своей стороны.
Если вы используете Apache как ваш HTTP-сервер, вы можете добавить его в свой конфигурационный файл Apache следующим образом:
<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>
Mod_headers включен по умолчанию в Apache, однако вы можете убедиться, что он включен при запуске:
a2enmod headers
/etc/apache2/apache2.conf
– JedatKinports
31 May 2018 в 11:09
Я столкнулся с этой проблемой, когда DNS-сервер был установлен в 8.8.8.8 (google). На самом деле проблема была в маршрутизаторе, мое приложение пыталось подключиться к серверу через Google, а не локально (для моего конкретного случая). Я удалил 8.8.8.8, и это решило проблему. Я знаю, что эти проблемы решаются с помощью настроек CORS, но, возможно, у кого-то будет такая же проблема, как у меня
Отдельные дистрибутивы GeoServer включают сервер приложений Jetty. Включить совместное использование ресурсов (CORS), чтобы позволить приложениям JavaScript за пределами вашего собственного домена использовать GeoServer.
Раскомментировать следующие <filter>
и <filter-mapping>
из webapps / geoserver / WEB-INF / web. xml:
<web-app>
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>cross-origin</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Отключить chrome security.Create chrome shortcut right click -> properties -> target, вставить этот «C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" --disable-web-security --user-данных DIR = "C: / chromedev"
Я думаю, что отключение CORS от Chrome не является хорошим способом, потому что если вы используете его в ионном режиме, то в Mobile Build проблема снова будет повышаться.
Так лучше исправить в вашем бэкэнд.
Прежде всего, в заголовке заголовка необходимо установить -
И если API ведет себя как GET и POST как тогда также установите в свой заголовок -
, если ($ _SERVER ['REQUEST_METHOD'] == 'OPTIONS') {if (isset ($ _ SERVER ['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header ("Доступ -Control-Allow-Methods: GET, POST, OPTIONS "); if (isset ($ _ SERVER ['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header ("Access-Control-Allow-Headers: {$ _SERVER ['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'}}"); Выход (0); }
blockquote>
Если вы случайно используете сервер IIS. вы можете установить ниже заголовков в опции заголовков HTTP-запросов.
Access-Control-Allow-Origin:*
Access-Control-Allow-Methods: 'HEAD, GET, POST, PUT, PATCH, DELETE'
Access-Control-Allow-Headers: 'Origin, Content-Type, X-Auth-Token';
с этим всем сообщением, get и т. д. будет работать нормально.
Для сервера флагов python вы можете использовать плагин flask-cors для разрешения запросов на междоменные запросы.
Что-то, что очень легко пропустить ...
В проводнике решений, щелкните правой кнопкой мыши api-project. В окне свойств установите «Анонимная аутентификация» на «Включено».
Для тех, кто использует Lambda Integrated Proxy с API Gateway . Вам необходимо настроить свою лямбда-функцию, как если бы вы отправляли свои запросы непосредственно, то есть функция должна правильно настроить заголовки ответов. (Если вы используете пользовательские лямбда-функции, это будет обрабатываться шлюзом API.)
//In your lambda's index.handler():
exports.handler = (event, context, callback) => {
//on success:
callback(null, {
statusCode: 200,
headers: {
"Access-Control-Allow-Origin" : "*"
}
}
}