Domanda

Questo codice Prototype.js.Ho guardato probabilmente 20 diversi tutorial, e io non riesco a capire perché questo non funziona.La risposta che ricevo è null.

new Ajax.Request(/path/to / xml / file.xml, {
   method: "get",
   contentType: "application/xml",
   onSuccess: function(transport) {
      alert(transport.responseXML);
   }
});

Se cambio il responseXML per responseText, poi avverte anche a me il file XML, come una stringa.Questa non è una pagina PHP che serve XML, ma un vero e proprio file XML, così so che non è il intestazioni di risposta.

È stato utile?

Soluzione

Se il trasporto.responseXML è nullo, ma è un valore per il trasporto.responseText quindi credo sia perché non è un file XML valido.

Edit: Ho appena notato che nel nostro codice qui ogni volta che chiediamo un file XML abbiamo impostato il tipo di contenuto per 'text/xml'.Non ho idea se c'è una differenza o no.

Altri suggerimenti

Voglio solo condividere il mio pomeriggio a lavorare sul tema con un risultato NULLO per responseXML risposte.Il mio risultato è stato esattamente come descritto nella domanda:responseText è stato riempito con il file XML, responseXML è stato NULLO.Come ero completamente sicuro che il mio file è in formato XML valido, l'errore deve essere qualcosa di diverso.

Come accennato in Prototipo v1.7 la documentazione, ho impostato il tipo di contenuto per "application/xml".Risposta inviata è stata costantemente "text/html", non importa cosa.

Per farla breve, il problema che ho incontrato è stato che il mio file XML avuto il finale ".gpx" come uno standard de facto per le coordinate GPS.I tipi mime collezione di mio locale XAMPP installazione di Apache prevede che le terminazioni "xml" e "xsl".Dopo l'aggiunta di "gpx" e riavviare il server, il programma è andato liscio come dovrebbe essere.

Nel mio caso, ci sono tre soluzioni:

1) modificare il "mime."tipi di file di Apache.Utilizzando un'installazione di XAMPP, si potrebbe trovare sotto "C:\xampp\apache\conf\mime.types".Ricerca per "application/xml" registrare e modificare come segue:

application/xml xml xsl gpx

Non dimenticare di riavviare il server!

2) aggiungere il tipo mime in un .htaccess della cartella appropriata.Aprire o creare un .il file htaccess e aggiungete la seguente riga:

AddType application/xml xml xsl gpx

3) durante il processo di caricamento, modificare il tipo di file "xml" invece di quello che hanno

Spero di sicuro qualche tempo con uno di voi, ragazzi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top