2017-06-29 4 views
1

Ich möchte Dateiinhalte auf einen Klick auf eine Schaltfläche löschen. Ich mache eine ajax Anfrage, die 2 Variablen sendet, die filename und die name der Person, die den Inhalt löschte. Die PHP-Funktion funktioniert einwandfrei, ohne Fehler, aber sie kann die ajaxrequest nicht lesen.Kann nicht lesen Ajax Request mit PHP

Mein HTML:

<button onclick="del()">Delete Chat</button> 

Mein JavaScript:

<script> 
function del(){ 
    var del = new XMLHttpRequest(); 
    var url = "dc.php?f=" + "<?php echo $mf[0]."-".$mf[1].".txt" ?>"+"&n="+ "<?php echo $me ?>"; 
    del.send(); 
} 
</script> 

Meine dc.phpDatei:

<?php 
    $f = $_REQUEST['f']; 
    $n = $_REQUEST['n']; 
    $del=fopen($f,'w'); 
    fwrite($del, "Chat Deleted by ".$n."\n<br>"); 
    fclose($del); 
?> 
+1

Was können Sie in Ihren Developer Tools in der Registerkarte "Network" sehen? Sie können Ihre Anfrage dort verfolgen. – Manwal

+0

@Manwal Ich bekomme das 'f' ist' undefined index' –

+0

Was ist die tatsächliche resultierende URL der Anfrage gemacht? Beachten Sie auch, dass Sie versuchen, * zwei * Anfragen zu stellen. Und sie definieren verschiedene Abfragezeichenfolgenwerte. Welcher wird tatsächlich hergestellt? – David

Antwort

1

Versuchen Sie Folgendes: Sie müssen keine andere Anfrage aufrufen. Kombinieren Sie sie in einem:

<script> 
    function del(){ 
     var del = new XMLHttpRequest(); 
     var url = "dc.php?f=" + "<?php echo $mf[0]."-".$mf[1].".txt" ?>"+"&n="+ "<?php echo $me ?>"; 
     url = encodeURIComponent(url); 
     del.open("GET", url , true); 
     del.send(); 
    } 
</script> 
+0

Dennoch bekomme ich 'f ist undefined index' und ich bekomme keine Ausgabe –

+1

Er würde nicht ' t muss 'encodeURIComponent' verwenden, würde er? –

+0

@AdamForbis Sie haben Recht, die Werte sollten ordnungsgemäß URL-codiert sein; Da sie jedoch mit PHP ausgegeben werden, wäre die Verwendung des 'urlencodes' von PHP vielleicht ein wenig sinnvoller. Aber auf jeden Fall sollte 'dc.php? F =' mindestens '$ _REQUEST [' f ']' erzeugen und keine undefinierte Indexwarnung auslösen, egal was danach kommt. F = ... – CBroe