Ajax请求不返回任何内容。为什么?

汤姆

以下是ajax请求。

$.post('delete.php', {'deletearray':deletearray, 'dir':dir}, function(deleted, undeleted){
    if(undeleted == 0) {
        alert('All ' + deleted + ' files delted from the server');
    } else {
        alert(deleted + ' files deleted and ' + undeleted + ' files could not be deleted');
    }
}, 'json');

这就是delete.php

<?php
    if(isset($_POST['deletearray'])) {
        $files = $_POST['deletearray'];
        $dir = $_POST['dir'];
        $deleted = 0;
        $undeleted = 0;

        foreach($files as $file) {
            if(unlink($dir.$file) && unlink($dir.'thumb/'.$file)) {
                $deleted ++;
            } else {
                $undeleted ++;
            }
        }
        echo json_encode($deleted, $undeleted);
    }
    return;
?>

运行代码后,它将成功删除文件,但不会显示任何消息。

我也尝试将ajax请求更改为:

 $.post('delete.php', {deletearray:deletearray, dir:dir}, function(deleted, undeleted){
    alert("php finished");
 }, 'json');

仍然不显示该消息。所以我想在delete.php文件中出了点问题。请帮忙。

Mohammad Alabed |

进行jquery + ajax + php的最佳方法如下:

jQuery的:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">

function do_ajax() { 
        //set data
        var myData  = new Array();
        myData.push({name:'deletearray',value:'deletearray'});
        myData.push({name:'dir',value:'dir'});
        //ajax post
        $.ajax({
            dataType: 'json',
            url: 'delete.php',
            type: 'post',
            data: myData,
            success: function(returnData) {
                if(returnData.undeleted == 0) {
                    alert('All ' + returnData.deleted + ' files delted from the server');
                } else {
                    alert(returnData.deleted + ' files deleted and ' + returnData.undeleted + ' files could not be deleted');
                }
            }
        });
}            
</script>

PHP:

<?php
    $myData = $_POST;
    if(isset($myData['deletearray']) AND isset($myData['dir'])) {
        $files = $myData['deletearray'];
        $dir = $myData['dir'];
        $deleted = 0;
        $undeleted = 0;

        foreach($files as $file) {
            if(unlink($dir.$file) && unlink($dir.'thumb/'.$file)) {
                $deleted ++;
            } else {
                $undeleted ++;
            }
        }
        print(json_encode(array('deleted' => $deleted, 'undeleted' => $undeleted)));
        exit();
    }
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

main函数不返回任何内容。为什么?

为什么我的内部联接查询不返回任何内容?

MongoDB GET请求不返回任何内容

为什么此处理程序不返回任何内容?

为什么python在计算后不返回任何内容?

为什么在app.use之后定义的路由在get请求之后没有返回任何内容?

为什么.map()不返回任何内容?

为什么Swift的类型检查系统允许返回类型的函数不返回任何内容?

为什么SQL不匹配任何内容?

为什么此提取请求不返回任何内容

为什么PIG FILTER不返回任何内容?

为什么OpenGL方法不返回任何内容?

为什么调用存储过程不返回任何内容?

AJAX不返回任何内容-Wordpress

Mongoose.findOne不返回任何内容,为什么?

为什么scanf()总是不返回任何内容?

jQuery ajax从所请求的php页面不返回任何内容

当TextBox ReadOnly设置为“ True”时,为什么ASP.NET Ajax ColorPickerExtender控件不返回任何内容?

为什么mycourses [i] .getGrade()不返回任何内容(C ++)?

请求不返回任何内容

如果javascript中的函数不返回任何内容,为什么?

在 ajax 中不返回任何内容

为什么 dask 在 CUDA 函数上不返回任何内容?

为什么我的 for 循环不返回任何内容?

FutureBuilder 快照数据不返回任何内容,为什么?

为什么在搜索存在的类时不返回任何内容?

为什么 .map 函数在反应中不返回任何内容

获取请求不返回任何内容

为什么类中的函数不返回任何内容?