2017-06-29 107 views
1

我想通过单击按钮删除文件内容。我做了发送2个变量的ajax请求,其中发送删除内容的人员的filenamenamePHP函数工作得很好,没有错误,但它不能读取ajaxrequest无法通过PHP读取ajax请求

HTML

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

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> 

dc.php文件

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

您可以在“网络”选项卡的开发人员工具中看到什么?您可以在那里跟踪您的请求。 – Manwal

+0

@Manwal我得到'f'是'undefined index' –

+0

请求的实际结果URL是什么?还要注意你正在尝试做*两个*请求。他们定义了不同的查询字符串值。哪一个实际上被制造? – David

回答

1

试试这个:你不必调用不同的请求。将它们合并为一个:

<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

仍然,我得到'f是未定义索引',我没有得到任何输出 –

+1

他wouldn' t需要使用'encodeURIComponent'吗? –

+0

@AdamForbis你是对的,值应该正确的URL编码;但由于它们是使用PHP输出的,所以使用PHP的'urlencode'可能会更有意义。但在任何情况下,请求'dc.php?f ='应该至少使'$ _REQUEST ['f']'存在并且不会抛出未定义的索引警告,无论在f = 0之后实际发生了什么...... – CBroe