Angularjs “详细信息”页面的角度重定向未显示最新数据
我在ASP.NET MVC核心应用程序中有一个客户页面,该应用程序使用角度控制器。控制器正在调用API以获取数据。当第一次加载页面时,该操作正常。 从该页面,用户可以导航到另一个页面以添加客户。添加新客户后,用户将导航回主页面。但是新客户没有显示在主页面上,看起来API没有被再次调用,因此用户会看到旧数据。我在API解决方案中设置了一个断点,以确认添加新客户后未调用API 正在客户页面上加载数据:Angularjs “详细信息”页面的角度重定向未显示最新数据,angularjs,asp.net-mvc,Angularjs,Asp.net Mvc,我在ASP.NET MVC核心应用程序中有一个客户页面,该应用程序使用角度控制器。控制器正在调用API以获取数据。当第一次加载页面时,该操作正常。 从该页面,用户可以导航到另一个页面以添加客户。添加新客户后,用户将导航回主页面。但是新客户没有显示在主页面上,看起来API没有被再次调用,因此用户会看到旧数据。我在API解决方案中设置了一个断点,以确认添加新客户后未调用API 正在客户页面上加载数据: function customerController($http) { var vm =
function customerController($http) {
var vm = this;
vm.customers = [];
$http.get("http://myapi")
.then(function (response) {
angular.copy(response.data, vm.customers);
}, function (error) {
vm.errorMessage = "Failed to load data: " + error;
});
}
从详细信息页面重定向到主页面(也从角度控制器):
数据实际上是通过API存储在数据库中的,但在重定向上没有显示新数据。当我刷新主页面时,新客户仍然没有显示。我应该强迫Angular再次调用API吗?重定向后将调用主页控制器的构造函数。我假设ASP.NET Core缓存了index.html文件,或者启用了另一个缓存 我会检查浏览器开发工具中的响应标题,以确保页面没有缓存属性 或者试试这个:
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = context =>
{
if (context.File.Name == "index.html" ) {
context.Context.Response.Headers.Add("Cache-Control", "no-cache, no-store");
context.Context.Response.Headers.Add("Expires", "-1");
}
}
});
这段代码来自注意标签,您使用的是AngularJS,而不是AngularJS。角度是指2->
app.UseStaticFiles(new StaticFileOptions
{
OnPrepareResponse = context =>
{
if (context.File.Name == "index.html" ) {
context.Context.Response.Headers.Add("Cache-Control", "no-cache, no-store");
context.Context.Response.Headers.Add("Expires", "-1");
}
}
});