Как получить веб -API, записанный в C# .NET 8.0, чтобы отправить 200 ответа на удовлетворение запроса CORS Preflight?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить веб -API, записанный в C# .NET 8.0, чтобы отправить 200 ответа на удовлетворение запроса CORS Preflight?

Сообщение Anonymous »

Я создал веб -API ASP.net Core 8.0, который отлично работает в сценарии Google и на веб -сайте, созданном с блокнота. Однако, когда я пытаюсь общаться с ним с внешнего сайта, он выносит ошибку Cors

Доступ к Fetch по адресу https://a.someting.edu/newsledtter/api/newsledtter 'из https://t4. Проверьте: у него нет http o o wation

my Program.cs файл:

Код: Выделить всё

var MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddCors(options =>
{
options.AddPolicy(name: MyAllowSpecificOrigins,
policy =>
{
policy.WithOrigins("https://t4.something.edu")
.AllowAnyHeader()
.AllowAnyMethod();
});
});

builder.Services.AddControllers();

// context
IConfiguration config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables()
.AddCommandLine(args)
.AddUserSecrets
(true)
.Build();

builder.Services.AddDbContext(option =>
{
option.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"));
});

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

builder.Services.AddTransient();
builder.Services.AddScoped();

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseStaticFiles();
app.UseRouting();

app.UseCors(MyAllowSpecificOrigins);

app.UseAuthorization();

app.MapControllers();

app.Run();
< /code>
Frontend html JavaScript Code < /p>

function send()
{
var url = 'https://a.something.edu/News/api/news';
var headers = {
'X-API-Key' : "something1234",
'Accept': "application/json",
'Content-Type': "application/json;charset=utf-8"
};
var data = {
"email" : document.getElementById("customerEmail").value
};

var payload = JSON.stringify(data);

var options = {
method: "POST",
headers: headers,
body: payload
};

try {
var response = fetch(url, options);
}catch(error) {
alert('Error is : ' + error);
}
alert('Response is - ' + response);
}

Включен в мой файл программы. Который проверяется файлом web.config :

Код: Выделить всё







< /code>
Код контроллера < /p>
 [Route("api/[controller]")]
[ApiController]
public class NewsletterController(NewsletterContext context) : ControllerBase
{
private readonly NewsletterContext _context = context;

[HttpPost]
public async Task PostNewsletterItem(NewsletterItem newsletterItem)
{
_context.Newsletter_Emails.Add(newsletterItem);

try
{
await _context.SaveChangesAsync();

}
catch (DbUpdateConcurrencyException)
{
throw;
}
return Ok("The record has been saved correctly");
}
}
< /code>
код модели < /p>
namespace NewsletterEmails.Models
{
public class NewsletterItem
{
[Key]
public required string Email { get; set; }
}
}
Я попытался установить режим в NO-CORS, однако это приводит к ошибке типа неподдерживаемой среды 415.

Подробнее здесь: https://stackoverflow.com/questions/789 ... to-satisfy
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Запрос параметров Preflight Cors возвращает 401 (несанкционированный) из Windows Authipended Web API
    Anonymous » » в форуме C#
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Запрос параметров Preflight Cors возвращает 401 (несанкционированный) из Windows Authipended Web API
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Удовлетворение корпуса запроса в Spring Webflux
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Как отправить 1-битное изображение 200 × 200 на лилиго запястье через Python [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    73 Просмотры
    Последнее сообщение Anonymous
  • Ошибки Spring Security Preflight 403
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»