Я попробовал добавить нового участника с помощью Postman, и это сработало. Но на моем веб-сайте этого не произошло, и я получил консольную ошибку ниже, когда попытался отправить нового пользователя на свой веб-сайт:
Доступ к XMLHttpRequest по адресу «http://localhost:5243». ' из источника 'http://localhost:3000' заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок 'Access-Control-Allow-Origin'. Unchecked runtime.lastError: прослушиватель указал на асинхронный ответ, вернув true, но канал сообщения закрылся до получения ответа.
Я изменил файл program.cs, как описано в этом сообщении, но не сделал этого. t работает: как исправить ошибку CORS: MethodDisallowedByPreflightResponse в ASP .NET C#
Ниже приведены коды program.cs иmemberadd.jsx:
//Program.cs:
var policyName = "AllowLocalhost3000"; //
var builder = WebApplication.CreateBuilder(args);
// Add CORS policy to allow requests from 'http://localhost:3000'
builder.Services.AddCors(options =>
{
options.AddPolicy(name: policyName,
policyBuilder =>
{
policyBuilder.WithOrigins("http://localhost:3000")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials()
.WithExposedHeaders("Access-Control-Allow-Origin", "http://localhost:3000")
.SetIsOriginAllowed((host) => true);
});
});
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
app.UseCors(policyName);
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();
//MemberAdd.jsx:
try {
const response = await axios.post(
`http://localhost:5243/MemberFirstName=$ ... ber.email)}`
);
if (response.status === 200) {
alert("Member Added!");
clearForm();
} else {
alert("Failed to add member.");
}
} catch (error) {
console.error("Error adding member: ", error);
alert("An error occurred while adding the member.");
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... with-react