Ajax请求返回任何内容。为什么? [英] Ajax request returns nothing. why?

查看:111
本文介绍了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

and here goes the 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;
?>

截至上运行的code它成功删除了文件,但不显示任何消息。

Up on running the code it deletes the files successfully but no message displays.

我也试图改变Ajax请求为:

I also tried changing the ajax request as:

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

它仍然不会显示该消息。所以我想什么是错的delete.php文件。请大家帮帮忙。

still it does not display the message. So i guess something is wrong in the delete.php file. Please help.

推荐答案

做的jQuery + AJAX + PHP最好的办法是为下一个:

The best way to do jquery + ajax + php is as next:

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();
    }
?>

这篇关于Ajax请求返回任何内容。为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆