使用AJAX的PHP unlink文件在取消链接文件后不会将结果返回给javascript

时间:2013-08-22 01:16:41

标签: php ajax

使用ajax php取消链接文件后得到结果有问题。 unlink函数完全完成工作,但无法将结果返回给javascript。

JAVASCRIPT **

我使用非常普通的ajax和POST方法

PHP

中的

$params=$_POST['params'];
$id_edit=$_POST['id_edit'];

//然后我使用$ _POST ['id_edit']从数据库中获取图像的名称; for where clause。

$del_img="imgfolder/".$row['name_img'];

//然后取消链接文件

if (file_exists($del_img)) {
        unlink($del_img);
    }

////取消链接f​​inshed后发送结果到ajax

echo"ok";

***文件被完全删除但是ajax无法获得结果。 PS:我没有错误,也没有ajax的问题​​。但只是不能让php给出结果。我猜是因为unlink文件无法将结果提供给ajax?

2 个答案:

答案 0 :(得分:0)

当您不显示JavaScript代码时很难修复,但这对我有用!

function send(){
    if (xmlHttp.readyState === 0 || xmlHttp.readyState === 4) {
            xmlHttp.open("POST", example.php, true);
            xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xmlHttp.onreadystatechange = handleServerRespons;
            xmlHttp.send("what ever you want to send");
            }else{
          setTimeout('send()', 1000);      
        }
   }


function handleServerRespons(){

如果您想使用响应文本(这不适用于IF语句):

if (xmlHttp.readyState === 4){
    if (xmlHttp.status === 200){
        if(url === 'sections/verify.php'){
            var text1Response = xmlHttp.responseText;

如果你想使用xml:

        var xmlResponse = xmlHttp.responseXML;
            var xmlDocumentElement = xmlResponse.documentElement;
             message = xmlDocumentElement.firstChild.data;
             if (message = "ok"){
               alert("ok");
            }else{
               alert("fail");
          }
      }

答案 1 :(得分:0)

最后我发现了错误。 我用户json将错误作为数组返回。 这就是为什么我无法得到错误消息。

但这很奇怪......我用纯PHP测试(没有ajax)为什么我没有收到错误消息?

<强>顺便说一句

错误是通过推杆修复的。 ($ _SERVER [ 'DOCUMENT_ROOT']“img_folder /".$行[ 'name_img']);

因为在开始时我只有$ del_img =“imgfolder /".$ row ['name_img'];

这就是为什么如果文件不存在我得到了meesage。

我发现之后 因为$ row [img]是空的。 unlink函数确实不知道名字 要删除的图像。