2014-02-20 59 views
0

我将此代码作为excel下载程序。 excel生成后。 但我有一个错误。正如问题标题所述。由于错误导致无法完成操作c00ce514

错误发生在该行: var strResponeText = XMLHttpRequestObject.responseText;

var strUrl = "POSSellThroughReportExcelOpener.aspx?getstatus=1&DateFrom=" + hdnDateFrom.value + "&DateTo=" + hdnDateTo.value + "&customer_id=" + hdnCustomerID.value + "&intdisplayby=" + hdnDisplayBy.value + "&monthorweek=" + hdnMonthOrWeek.value; 
if (XMLHttpRequestObject) { 
    XMLHttpRequestObject.open("POST", strUrl); 
    XMLHttpRequestObject.onreadystatechange = function() { 
    if ((XMLHttpRequestObject.readyState == 4) && (XMLHttpRequestObject.status == 200)) { 
    var hdnRedirectUrl = document.getElementById("hdnRedirectUrl"); 
    var strResponeText = XMLHttpRequestObject.responseText; 
    var intResponse = new Number(strResponeText); 
    var spanCallBackStatus = document.getElementById("spanCallBackStatus"); 
    var trClose = document.getElementById("trClose"); 

    if (!isNaN(intResponse)) { 
      if (intResponse == 1) { 
      spanCallBackStatus.innerHTML = "Excel Report has been generated." 
      trClose.style.display = ""; 
      Init(); 
      window.location.href = hdnRedirectUrl.value; 
      } 
      else { 
     GetStatus(); 
      } 
    } 
    else { 
      spanCallBackStatus.innerHTML = strResponeText; 
    } 
} 
} 
    XMLHttpRequestObject.send(null); 
} 

任何帮助,非常感谢。 非常感谢。

更新 - FEB 20,2014 3:55 PM(菲律宾时间)

嗨,大家好,

我已经找到错误的原因,这是因为内容类型被称为两次。在Page_Load事件期间以及Generate Excel函数的最后一行中,这是不应该的。这就是为什么页面加载后的当前内容类型在生成excel函数后被替换的原因。呵呵,我猜我不好。

无论如何感谢所有的帮助,建议和有用的链接。 美好的一天。 :D

+0

欢迎来到本网站!浏览器抛出错误,还是'strResponeText'包含它? –

+0

excel文件的内容是什么?当文件的字符集与您的网页不匹配时,通常会发生此错误。看看[this](http://nevyan.blogspot.in/2008/12/easy-solve-ajax-c00ce514-error.html) – Rohan

+0

@Ed Cottrell - 浏览器是引发错误的人。 – user3180944

回答

1

Internet Explorer无法处理对XMLHttpRequestObject等AJAX请求的二进制响应,如this question中所述。您需要以其他方式处理回复,具体取决于您需要处理的内容。

+0

我有其他的excel生成屏幕,我用作参考,除了当然,通过变量或参数,一切都是相同的。所有其他优秀的生成屏幕工作顺利,但这个屏幕不是。这就是为什么它有点令人沮丧。呵呵。 – user3180944

相关问题