При вызове моего API с помощью Postman он работает, однако на моем веб-сайте — нет. Я получил ошибку консоли ниже, когда попытался:
Доступ к XMLHttpRequest по адресу «http://localhost:5243» из источника
'http: //localhost:3000' заблокирован политикой CORS: в запрошенном
ресурсе отсутствует
заголовок Access-Control-Allow-Origin'. Непроверенный runtime.lastError: прослушиватель указал на
асинхронный ответ, вернув true, но канал сообщения
закрылся до получения ответа
Я изменил файл program.cs, как описано в этом сообщении, но это не сработало.
Ниже приведены файлы 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