从服务器端数据表到Api控制器的Jquery Ajax调用,在浏览器不活动大约15分钟后出现404错误
我正在使用asp.net core/jQuery datatables,尝试使用jQuery Ajax调用从视图中调用API控制器,该调用工作正常,但是如果我让浏览器处于非活动状态大约15分钟,我会收到API URL的404 Not found错误。我不确定这是否与会话到期有关,我使用的是windows身份验证,没有使用任何显式cookie或会话。你能帮忙吗 下面给出了我的AJAX调用从服务器端数据表到Api控制器的Jquery Ajax调用,在浏览器不活动大约15分钟后出现404错误,jquery,ajax,api,asp.net-core,datatables,Jquery,Ajax,Api,Asp.net Core,Datatables,我正在使用asp.net core/jQuery datatables,尝试使用jQuery Ajax调用从视图中调用API控制器,该调用工作正常,但是如果我让浏览器处于非活动状态大约15分钟,我会收到API URL的404 Not found错误。我不确定这是否与会话到期有关,我使用的是windows身份验证,没有使用任何显式cookie或会话。你能帮忙吗 下面给出了我的AJAX调用 Vehtable = $('#VehicleTitlesTable').DataTab
Vehtable = $('#VehicleTitlesTable').DataTable(
{
"processing": true,
"language": {
processing: '<i class="fa fa-spinner fa-spin fa-3x fa-fw"></i><span class="sr-only">Loading...</span> '
},
"serverSide": true,
"filter": true,
"ajax": {
"url": "@ViewData["BaseUrl"]/api/GetVehicleTitlesListApi",
"type": "POST",
"datatype": "json",
"data": { itemStatus: itemStatus, vehicleId: vehicleId }
},
"columnDefs": [{
"targets": 0,
"data": "vehicleTitleId",
"render": function (data) {
return '<a href=@ViewData["BaseUrl"]/VehicleTitles/AddVehicleTitle?vehicleId=' +@ViewData["VehicleId"]+'&titleId=' + data + ' title="Edit" class="btn"><i class="fas fa-edit" style="color:cornflowerblue"></i></a>';
}
},
{
"targets": 0,
"data": "vehicleTitleId",
"render": function (data) {
return '<a href=@ViewData["BaseUrl"]/VehicleTitles/DeleteVehicleTitle?vehicleId=' +@ViewData["VehicleId"]+'&titleId=' + data + ' title="Delete" onclick="return alertPopup()" class="btn"><i class="fas fa-trash" style="color:cornflowerblue"></i></a>';
}
}
],
"columns": [
{
Vehtable=$('#vehicletletlestable')。数据表(
{
“处理”:对,
“语言”:{
正在处理:“正在加载…”
},
“服务器端”:正确,
“过滤器”:正确,
“ajax”:{
“url”:“@ViewData[“BaseUrl”]/api/GetVehicleTleTitleSlistAPI”,
“类型”:“职位”,
“数据类型”:“json”,
“数据”:{itemStatus:itemStatus,vehicleId:vehicleId}
},
“columnDefs”:[{
“目标”:0,
“数据”:“VehicleTleId”,
“渲染”:函数(数据){
返回“”;
}
},
{
“目标”:0,
“数据”:“VehicleTleId”,
“渲染”:函数(数据){
返回“”;
}
}
],
“栏目”:[
{
ApiController如下所示启动
[Route("api/[controller]")]
[ApiController]
public class GetVehicleTitlesListApiController : ControllerBase
{
private readonly SnowmobileATVContext _context;
private IQueryable<VehicleTitlesViewModel> vehicles;
private readonly IVehicleTitlesStore _vehicle;
public GetVehicleTitlesListApiController(SnowmobileATVContext context, IVehicleTitlesStore vehicle)
{
_context = context;
_vehicle = vehicle;
}
[HttpPost]
public IActionResult Get()
{
try
{
var vehicleId = Request.Form["vehicleId"].FirstOrDefault();
var itemStatus = Request.Form["itemStatus"].FirstOrDefault();
[路由(“api/[控制器]”)]
[ApiController]
公共类GetVehicleTleSlistapicController:ControllerBase
{
专用只读SnowmobileATVContext\u上下文;
私人流动车辆;
私人只读无人机存储车;
public GetVehicleTleSlistapicController(雪地摩托视频上下文,iVehicleTlessStore车辆)
{
_上下文=上下文;
_车辆=车辆;
}
[HttpPost]
public IActionResult Get()
{
尝试
{
var vehicleId=Request.Form[“vehicleId”].FirstOrDefault();
var itemStatus=Request.Form[“itemStatus”].FirstOrDefault();
对于404页面未找到错误,它通常与URL不正确有关,请尝试使用F12开发者网络工具检查URL是否正确。您还可以检查是否有重定向?可能身份验证已过期,它重定向到登录页面,然后遇到404错误。URL是正确的,因为如果您在浏览器中处于活动状态,它可以正常工作。我没有使用任何重定向,也没有任何登录页面,我只是使用windows身份验证。我不知道如何检查会话是否过期,顺便说一句,我还有一些其他视图,它们不是服务器端的,它们没有使用API控制器,甚至可以正常工作一个小时后。谢谢在遇到404错误之前和之后,您是否使用F12开发者网络工具检查URL是否不同?哦,是的,我刚刚注意到,URL在一段时间后发生了更改,我想我知道了。非常感谢您的帮助。