我的索引已定义,但仍然出现无法识别的错误

时间:2018-12-22 06:29:48

标签: php jquery ajax

所以我有这段代码适用于一页而不适用于另一页...相同的代码,相同的表单名称属性,服务器端的相同php功能。我正在用jquery ajax进行调用。从一个页面进行调用,它完全可以正常工作...当我从另一个页面进行调用时,它给了我“未识别索引”

我尝试过更改名称(删除重复项和全部)。 我似乎可以确定名称是否正确。

<script type="text/javascript">
    $('#uploadcsv').submit(function(e){
        e.preventDefault();
        $.ajax({
            url: "functions/grocerystore.php?item=fetchcontacts",
            method: "post",
            data: new FormData(this),
            dataType: 'json',
            contentType: false,
            cache: false,
            processData: false,
            success: function(data){
                console.log(data);
                var accumulator = "";
                var filetype = $('#uptype').val();
                if(filetype == "csv"){
                    for(trav=0; trav<data.length; trav++){
                        accumulator += data[trav];
                        if(trav < data.length-1)
                            accumulator += "\r\n";
                    }
                }else{
                    for(trav=0; trav<data.length; trav++){
                        accumulator += data[trav];
                    }
                }
                var mobilenumbers = $('#mobilenumbers');
                mobilenumbers.html(accumulator);
            },
            error: function(data){
                console.log(data);
            }
        });
    });
</script>

php

case 'fetchcontacts':
                if(!empty($_FILES['customFilex']['name'])){
                    $name = explode('.',$_FILES['customFilex']['name']);
                    $extension = end($name);
                    $file_data = fopen($_FILES['customFilex']['tmp_name'],"r");
                    if($extension == 'csv'){
                        fgetcsv($file_data);
                        $mobile = array();
                        $init = 0;
                        while($row = fgetcsv($file_data)){
                            $mobile[$init] = $row[0];
                            $init++;
                        }
                        fclose($file_data);
                    }else{
                        if ($file_data = fopen($_FILES['customFilex']['tmp_name'], 'r')) {
                            $mobile = array();
                            $init = 0;
                            while (!feof($file_data)) {
                                $row = fgets($file_data);
                                $mobile[$init] = $row;
                                $init++;
                            }
                            fclose($file_data);
                        }
                    }
                    echo json_encode($mobile);
                }else{
                    $report["status"] = "failed";
                    echo json_encode($report);
                }
                break;

我只需要它来接受我的文件...

1 个答案:

答案 0 :(得分:1)

您使用$_FILES['customFilex']['tmp_name']时没有检查键是否在$ _FILES数组中。