Asp.net 对XMLHttpRequest的react访问已被第'号CORS策略阻止;访问控制允许原点';请求的资源上存在标头
我试图从api访问数据,但出现了此错误 CORS策略已阻止从源站“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源站”标头。 这是我的密码Asp.net 对XMLHttpRequest的react访问已被第'号CORS策略阻止;访问控制允许原点';请求的资源上存在标头,asp.net,reactjs,api,axios,Asp.net,Reactjs,Api,Axios,我试图从api访问数据,但出现了此错误 CORS策略已阻止从源站“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源站”标头。 这是我的密码 return axios.post('http://example.com/api/login', { username: username, password: password }).then(response => { console.log('response'
return axios.post('http://example.com/api/login', { username: username, password: password }).then(response => {
console.log('response', response);
if (response.status === 400 || response.status === 500)
throw response.data;
return response.data;
}).catch(err => {
console.log('err', err);
throw err[1];
});
使用asp.net构建后端
谢谢此问题与您的服务器有关。您的服务器不允许来自不同域的请求。在您的情况下,
http://example.com/api/login
和http://localhost:3000
位于不同的域中。您可以在asp.net代码中允许任何域。以下代码可能对您有用:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy(MyAllowSpecificOrigins,
builder =>
{
builder.WithOrigins("http://example.com",
"http://www.contoso.com");
});
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseCors(MyAllowSpecificOrigins);
app.UseHttpsRedirection();
app.UseMvc();
}
}
要了解更多信息,您可以导航经过数小时的搜索,我找到了这个解决问题的chrome扩展
谢谢您的关心。。我发现这个chrome扩展解决了这个问题,你可以暂时使用它。当您将代码部署到服务器时,您的客户端将遇到相同的错误。您必须在服务器中解决此问题。