在ASP.NET Core中使用CORS(跨域资源共享)允许在客户端使用axios时自定义标头。下面是一个示例解决方法:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigins",
builder =>
{
builder.WithOrigins("http://example.com")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
// 其他配置
}
在上述代码中,我们创建了一个名为"AllowSpecificOrigins"的CORS策略,允许来自"http://example.com"的请求,并允许任何标头和任何方法。
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors("AllowSpecificOrigins");
// 其他配置
}
这将确保CORS中间件在请求管道中的正确位置,并应用先前定义的CORS策略。
import axios from 'axios';
axios.get('http://example.com/api/data', {
headers: {
'Custom-Header': 'Custom Value'
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
在上述示例中,我们在axios的headers选项中添加了一个名为'Custom-Header'的自定义标头,其值为'Custom Value'。
通过这种方式,你可以使用自定义标头在ASP.NET Core中使用CORS,并在客户端使用axios发送带有自定义标头的请求。