我正在使用 ASP.NET Core 7 MVC。结果正确后我想访问另一个网站。
在控制器中声明如下:
public ActionResult CalculateSomething(string encIds, string url)
{
try
{
resultIs = true;
if (resultIs)
{
string newUrl = "https://www.ad.nl";
return Redirect(newUrl);
}
}
catch (Exception ex)
{
string s = ex.Message;
return Json(s);
}
}
在
appsettings
我有这个配置:
"AllowedCorsOrigins": "https://localhost:7065/",
在
program.cs
:
var allowedCorsOrigins = configuration.GetValue<string>("AllowedCorsOrigins");
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder =>
{
builder.WithOrigins(allowedCorsOrigins)
.AllowAnyHeader()
.AllowAnyMethod();
});
});
app.UseCors("AllowSpecificOrigin");
我收到这样的错误消息:
我做错了什么?
我正在使用.net 7 和 mvc。我想在访问另一个网站后 结果是真的。
根据您的描述和共享代码片段,CORS 似乎没有任何问题。因为如果您使用操作辅助方法Redirect,它应该将您重定向到任何网页,而 CORS 在这里无关。
我在您的代码中发现,您缺少 return 语句,您的控制器应该向您大喊您尚未返回所有路径。
但是,我尝试了以下方式,它按预期工作,因此成功重定向到 URL。
这是我尝试过的方法:
public ActionResult CalculateSomething(string encIds, string url)
{
try
{
var resultIs = true;
if (resultIs == true)
{
return Redirect(url);
// return Redirect("https://www.ad.nl");
}
else
{
return View(); // Do whatever you want
}
}
catch (Exception ex)
{
string s = ex.Message;
return Json(s);
}
}
输出:
注意: 如果您需要了解更多关于 Redirection 和 CORS 的详细信息,请参阅官方文档。