【发布时间】:2014-03-20 21:24:35
【问题描述】:
我有这个代码作为一个 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(菲律宾时间)
大家好,
我找到了错误的原因,是因为content-type被调用了两次。在 Page_Load 事件期间和不应出现的 Generate Excel 函数的最后一行。这就是为什么页面加载后的当前内容类型在生成 excel 功能后被替换的原因。呵呵,我猜是我的错。
无论如何,感谢您提供的所有帮助、建议和有用的链接。 祝大家有美好的一天。 :D
【问题讨论】:
-
欢迎来到本站!浏览器会抛出该错误,还是
strResponeText包含它? -
excel文件的内容是什么?当文件的字符集与您的页面不匹配时,通常会发生此错误。看看this
-
@Ed Cottrell - 浏览器会引发错误。
-
@Rohan - 这是内容类型:“APPLICATION/VND.MS-EXCEL”
标签: ajax