由于错误c00ce514,无法完成操作

时间:2014-02-20 05:48:30

标签: ajax

我将此代码作为excel下载程序。生成excel之后。 但我有一个错误。如标题中所述。

错误发生在以下行: 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);
}

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

更新 - 2014年2月20日下午3:55(菲律宾时间)

嗨,大家好,

我找到了错误的原因,这是因为内容类型被调用了两次。在Page_Load事件期间和生成Excel函数的最后一行,这是不应该的。这就是为什么在生成excel函数之后替换页面加载后的当前内容类型的原因。嘿,我猜不好。

无论如何,感谢所有的帮助,建议和有用的链接。 大家好日子。 :d

1 个答案:

答案 0 :(得分:1)

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