在Angular中,在每个新的HTTP GET请求上刷新会话,可以通过设置HTTP请求的选项来实现。而在浏览器中,会话不会自动刷新。
下面是一个示例解决方法:
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
HttpClientModule
],
// ...
})
export class AppModule { }
{ withCredentials: true }
选项来刷新会话。这会将跨域请求的凭据(例如,会话)发送到服务器:import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class DataService {
constructor(private http: HttpClient) { }
getData() {
return this.http.get('https://example.com/api/data', { withCredentials: true });
}
}
getData()
方法来发送GET请求:import { Component } from '@angular/core';
import { DataService } from './data.service';
@Component({
selector: 'app-root',
template: `
- {{ item }}
`
})
export class AppComponent {
data: any[];
constructor(private dataService: DataService) { }
getData() {
this.dataService.getData()
.subscribe((response: any[]) => {
this.data = response;
});
}
}
在以上示例中,当调用getData()
方法时,会发送一个带有withCredentials: true
选项的HTTP GET请求。这会刷新会话并将凭据发送到服务器。注意,服务器也必须配置以接收和处理带有凭据的请求。
请根据你的实际需求,将示例代码中的URL、数据类型等进行相应的修改。