Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $.ajax-发送http头后无法重定向_Javascript_Asp.net_Ajax - Fatal编程技术网

Javascript $.ajax-发送http头后无法重定向

Javascript $.ajax-发送http头后无法重定向,javascript,asp.net,ajax,Javascript,Asp.net,Ajax,我在随机的时间遇到了上面的错误,我还没有找到解决方法 //MyPage.aspx //Reload Ajax function $.fn.dataTableExt.oApi.fnReloadAjax = function (oSettings, sNewSource, fnCallback) { if (typeof sNewSource != 'undefined') { oSettings.sAja

我在随机的时间遇到了上面的错误,我还没有找到解决方法

       //MyPage.aspx
       //Reload Ajax function
       $.fn.dataTableExt.oApi.fnReloadAjax = function (oSettings, sNewSource, fnCallback) {
           if (typeof sNewSource != 'undefined') {
               oSettings.sAjaxSource = sNewSource;
           }
           this.oApi._fnProcessingDisplay(oSettings, true);
           var that = this;

           oSettings.fnServerData(oSettings.sAjaxSource, null, function(json) {
               /* Clear the old information from the table */
               that.oApi._fnClearTable(oSettings);

               /* Got the data - add it to the table */
               for (var i = 0; i < json.aaData.length; i++) {
                   that.oApi._fnAddData(oSettings, json.aaData[i]);
               }

               oSettings.aiDisplay = oSettings.aiDisplayMaster.slice();
               that.fnDraw(that);
               that.oApi._fnProcessingDisplay(oSettings, false);

               /* Callback user function - for event handlers etc */
               if (typeof fnCallback == 'function') {
                   fnCallback(oSettings);
               }
           });
       };



//Timer
function AutoReload(){
 CheckInfoDate();
 setTimeout(function(){AutoReload();}, 50000);
}

function CheckInfoDate(){
   $.ajax({
               type: "POST",
               url: "MyPage.aspx/CheckDate",
               contentType: "application/json; chartset=utf-8",
               dataType: "json",
               success: function (data) { ProcessResult(data.d); },
               error: function (orjRequest){ ErrorHandler(); }
         });
       }

      function ErrorHandler() {
           window.location.href = "../Login.aspx";
       }

       function ProcessResult(result) {
           if (result != "False") {
               RefreshDataTable();
           }
       }

      function RefreshDataTable() {
               table1.fnReloadAjax();
       }

//MyPage.aspx.cs
[WebMethod(Description="Read Date from Database")]
public static String CheckDate()
{
  //Basic SQL read from database and return as string
  return DBCustomClass.CheckInfoDate().ToString();
}
//MyPage.aspx
//重新加载Ajax函数
$.fn.dataTableExt.oApi.fnReloadAjax=函数(oSettings、sNewSource、fnCallback){
if(sNewSource的类型!=“未定义”){
oSettings.sAjaxSource=sNewSource;
}
这个.oApi.\u fn处理显示(oSettings,true);
var=这个;
oSettings.fnServerData(oSettings.sAjaxSource,null,函数(json){
/*从表中清除旧信息*/
即.oApi.\u fnClearTable(oSettings);
/*获取数据-将其添加到表中*/
for(var i=0;i
我收到的错误日志是:

资料来源: http://localhost:8080/MyPage.aspx/CheckDate System.Web.HttpException:在删除HTTP头后无法重定向 已发送。
在System.Web.HttpResponse.Redirect(字符串url,布尔值 endResponse)
在System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤, 布尔值(同步完成(&C))


任何帮助都将不胜感激。

尽管复发很少,但其他时间是一致的(但不可重复)。我将把这个问题标记为已解决

你在做响应。重定向到任何地方吗?我没有在页面上使用响应。重定向。基本上,我试图实现的是使用ajax每50秒ping一次服务器,以检查数据库中的日期是否已更改(新数据)<代码>函数ProcessResult(result){//If数据不是当前数据-如果(result!=“False”)刷新网格{//showLoading();hidePopup();refreshtTable();}}}
如果“新”数据可用,然后从数据库中检索,问题很可能是网格的刷新。您应该将代码发布到
ProcessResult()
方法,同时发布
ErrorHandler()
。当您返回一个静态字符串时,您应该将
数据类型更改为“text”,而不是“json”。@Dejan.S:我已经用更多的代码段更新了原始帖子。我正在使用JQuery数据表。根据错误日志,错误似乎是由$.ajax(CheckDate方法)触发的,而不是由网格更新本身触发的;除非我忽略了什么。最大的问题是复制这个问题非常困难(几乎不可能)。新发现:只有在会话超时时才会出现错误。例如,页面将每隔50秒持续发送一次ajax ping。该站点的会话超时设置为2小时。当用户导航到页面并使其处于空闲状态(超过超时时间段)时,将触发错误。因此,我的猜测是,当会话超时后发送第一个“ajax-ping”时,会为一个请求返回两个响应。第一个是来自ajax调用的响应,第二个是从服务器发送的超时消息。我怀疑这就是源头。