Преамбула:
Есть вот такая
http://sourceforge.net/projects/excelwriterxml/ штука, которая генерит файл. (Вызываем в браузере скрипт, а он создает файл и вызывает диалог для его сохранения)
На базе этого скрипта использую такую конструкцию:
var xmlHttp = new XMLHttpRequest();
function sendRequest(file){
//window.location="excel.php?name=" + file;//
xmlHttp.open("GET", "excel.php?name=" + file, true);
xmlHttp.onreadystatechange = serverResponce;
xmlHttp.send(null);
}
function serverResponce() {
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
alert(xmlHttp.responseText);
}
else{ alert("err!");}
}
}
xmlHttp.responseText содержит:
Код:
|
<workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
<documentproperties xmlns="urn:schemas-microsoft-com:office:office">
</documentproperties>
<excelworkbook xmlns="urn:schemas-microsoft-com:office:excel">
<styles>
<style ss:id="Default" ss:name="Normal">
<Alignment ss:Vertical="Bottom" />
<NumberFormat/>
<Protection/>
</style>
<style ss:id="formatErrorsHeader">
<Font ss:Color="Automatic" ss:Bold="1" />
<Interior ss:Color="#FF0000" ss:Pattern="Solid" />
<NumberFormat/>
<Protection/>
</style>
</styles>
<worksheet ss:name="orders">
<row ss:index="1">
<cell ss:index="1">
<data ss:type="String">Order Reference</data>
</cell>
</row>
<table>
</table>
</worksheet>
</excelworkbook></workbook> |
- то, что надо
Вопрос: как "то, что надо" = xmlHttp.responseText записать в файл и вызвать диалог сохранения?
window.location="excel.php?name=" + file; - делает "то, что надо", но прерывает вывод страницы
ПыСы: document.write, innerHTML - не помогли