Sostanzialmente, ho del codice ajax che richiama un url asp, il quale,
produce un file txt e ne oblbiga al download . il file asp funziona
perfettamente, ma ajax si rifiuta di aprirmelo. come posso ricevere da
ajax un file .txt?
Entro nel dettaglio:
//*************************** funzione ajax che richiama la pagina asp
function getURLsalva(url)
{
//annullo le operazioni dell'oggetto XMLHttpRequest precedenti
if(xmlhttp!=undefined){
xmlhttp.abort();
}
//alert(url);
//creo l' oggetto
var xmlhttp = getXMLHttp();
if (!xmlhttp)
{
alert('XMLHttp non supportato dal browser');
return false;
}
xmlhttp.open('GET', url, true);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4)
{
if (xmlhttp.status == 200)
{
//alert(xmlhttp.responseText);
//****************** qui dovrei metterci un' istruzione che riceve il
file ma non so come
}
else if (xmlhttp.status == 404)
alert('URL inesistente: ' + url);
else
alert('Errore: ' + xmlhttp.status);
}
}
xmlhttp.send(null)
}
------------------------------------------------------------------
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
dim risultato
risultato="prova"
Response.ContentType = "text/html"
Response.Charset = "iso-8859-1"
Response.AddHeader "content-disposition", "inline; filename=file.txt"
' leggo dal file e scrivo nello stream di risposta , necessario per
ultimare il processo
Response.Write (risultato)
Response.End()
%>
qualcuno ha qualche consiglio ? grazie
dovresti inserire un codice che funzioni sui vari browser del tipo:
var xhr;
if (window.XMLHttpRequest) { xhr = new XMLHttpRequest();}
else if (window.ActiveXObject) { xhr = new
ActiveXObject("Msxml2.XMLHTTP");} else { throw new Error("Ajax is not
supported by this browser"); }
Però per risparmiare tempo consiglio l'uso di jquery scaricabile
presso jquery.com
devi studiarlo un pò all'inizio ma dopo risparmi parecchio tempo. Per
esempio ottieni il risultato con una semplice istruzione:
load(url,parameters,callback)
se desideri inserire il risultato in un div l'istruzione è:
$('#id_del_div').load(url);
a si si grazie, ma io ho solo la difficoltà che il file asp spedisce
un file.txt e non so come farglielo ricevere ad ajax.
il codice ajax l' ho già scritto
//*************************** funzione ajax che richiama la pagina asp
function getURLsalva(url)
{
//annullo le operazioni dell'oggetto XMLHttpRequest precedenti
if(xmlhttp!=undefined){
xmlhttp.abort();
}
//alert(url);
//creo l' oggetto
var xmlhttp = getXMLHttp();
if (!xmlhttp)
{
alert('XMLHttp non supportato dal browser');
return false;
}
xmlhttp.open('GET', url, true);
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4)
{
if (xmlhttp.status == 200)
{
//alert(xmlhttp.responseText);
//
*******************************************************************************
Se decidi di usare jquery, risolvi facilmente il problema. La chiamata
alla variabile url può essere benissimo un file di tipo txt (vedi
messaggio precedente)