1

使用 ajax php 取消链接文件后,我无法获得结果。unlink 函数完成了这项工作,但不能将结果返回给 javascript。

JAVASCRIPT 中**

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

PHP中

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

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

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

//然后取消链接文件

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

////取消链接后将结果发送到ajax

echo"ok";

***文件被完全删除但ajax无法取回结果。PS:我没有错误,ajax 完全没有问题。但是就是不能让php把结果给回来。我猜是因为取消链接文件无法将结果提供给ajax?

4

2 回答 2

0

毕竟我终于找到了错误。我使用 json 将错误作为数组返回。这就是为什么我无法收到错误消息的原因。

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

顺便提一句

错误已通过 put 修复。($_SERVER['DOCUMENT_ROOT']."img_folder/".$row['name_img']);

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

这就是为什么如果文件不存在我得到消息的原因。

之后我发现因为 $row[img] 是空的。并且取消链接功能不知道要删除的图像的名称。

于 2013-08-22T09:39:02.647 回答
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");
          }
      }
于 2013-08-22T01:35:12.933 回答