Fout: unterminated string literal

Status
Niet open voor verdere reacties.

sonorgeek

Gebruiker
Lid geworden
2 okt 2008
Berichten
30
Hallo,

Ik ben bezig met een ajax request. Nu heb ik het geschreven alleen krijg ik een error :(.
Hij geeft de fout op deze regel:
Code:
var oldname = "<?php echo $filename; ?>";

Dit is de hele functie met die ajax request:
Code:
function editItem(){
	
	var newname = prompt('Geef hier de nieuwe naam op',' ');
	var oldname = "<?php echo $filename; ?>";
	
	new Ajax.Request('xf_rename.php', { 
	            method: 'post',
	            parameters:{
	                actie: 'rename_file',
	                oudenaam: bron,
	                nieuwenaam: newname
	            }, 
	            onSuccess: renameresponse
		                     
	        });
			
}

Waar zit de fout dat deze foutmelding veroorzaakt.

al vast bedankt :thumb:
 
unterminated string literal betekent dat er iets mis gaat met de quotes. Er staat wel een openings quote, maar om een of andere reden wordt de sluit quote niet herkend. Dat kan alleen te maken hebben met de inhoud van $filename. Wat bijvoorbeeld kan is dat $filename eindigt op een backslash. Dan krijg je in je javascript iets als dit:
Code:
var oldname = "C:\Program Files\";

Nu wordt de string literal inderdaad niet gesloten aangezien de \" ge-escaped is. Je moet daarom altijd zorgen dat alle php die je als string in javascript wilt hebben al ge-escaped is:
Code:
var oldname = "<?php echo addslashes($filename); ?>";

Als het nu nog steeds een fout geeft, kun je dan een linkje geven of de output van het PHP bestand laten zien?
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan