данные оповещения ajax не возвращают значение php echo - PullRequest
0 голосов
/ 09 октября 2018

как я могу предупредить в javascript значение echo от php

ПРИМЕЧАНИЕ Я ПОПРОБОВАЛ ПРЕДУПРЕЖДЕНИЕ (ДАННЫЕ), НО ЭТО не дает никакой проверки при успехе из-за зависания в php

меня беспокоит то, что когда я пытаюсь сделать валидацию, он просто переходит к другой вещи, которая даже считается, что это Импорт Успешно, даже если данные или эхо в php «Ошибка1», «Ошибка2» или «Ошибка3», пожалуйста, помогите ..

вот мой ajax

<script>  
      $(document).ready(function(){  
           $('#upload_csv').on("submit", function(e){  
                e.preventDefault(); //form will not submitted  
                $.ajax({  
                     url:"import.php",  
                     method:"POST",  
                     data:new FormData(this),  
                     contentType:false,          // The content type used when sending data to the server.  
                     cache:false,                // To unable request pages to be cached  
                     processData:false,          // To send DOMDocument or non processed data file it is set to false  
                     success: function(data){  
                        if(data == 'Error1')
                        {
                            alert("Error1");
                        }
                        else if(data == 'Error2')
                        {
                            alert("Error2");
                        }
                        else if(data == 'Error3')
                        {
                            alert('Error3');
                        }
                        else
                        {
                            alert('Import Successfull');
                            $('#employee_table').html(data);
                        }                       
                     }
                })  
           });  
      });  
 </script>  

и вот php код

<?php  
 if(!empty($_FILES["employee_file"]["name"]))  
 {  
      $connect = mysqli_connect("localhost", "root", "", "db");  
      $output = '';  
      $allowed_ext = array("csv");  
      $tmp = explode(".", $_FILES["employee_file"]["name"]);
      $extension = end($tmp); 
      if(in_array($extension, $allowed_ext))  
      {  
           $file_data = fopen($_FILES["employee_file"]["tmp_name"], 'r');  
           fgetcsv($file_data);
              while($row = fgetcsv($file_data))  
           {
               $try = count($row);
               if($try === 6){             
                $id = mysqli_real_escape_string($connect, $row[0]);
                $name = mysqli_real_escape_string($connect, $row[1]);  
                $address = mysqli_real_escape_string($connect, $row[2]);  
                $gender = mysqli_real_escape_string($connect, $row[3]);  
                $designation = mysqli_real_escape_string($connect, $row[4]);  
                $age = mysqli_real_escape_string($connect, $row[5]);                
                $query = "  
                INSERT INTO tbl_employee  
                     (id,name, address, gender, designation, age)  
                     VALUES ('$id','$name', '$address', '$gender', '$designation', '$age')  
                ";              
                mysqli_query($connect, $query);
               }else
               {

                   echo 'Error3';
                   break;
               }                   
            } 

           echo $output;  
      }  
      else  
      {  
           echo "Error1";  
      }  
 }  
 else  
 {  
      echo "Error2";  
 }  
 ?>  

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

попробуйте вернуть значение, используя json, на js

<script>  
      $(document).ready(function(){  
           $('#upload_csv').on("submit", function(e){  
                e.preventDefault(); //form will not submitted  
                $.ajax({  
                     url:"import.php",  
                     method:"POST",
                     dataType: 'JSON',  
                     data:new FormData(this),  
                     contentType:false,          // The content type used when sending data to the server.  
                     cache:false,                // To unable request pages to be cached  
                     processData:false,          // To send DOMDocument or non processed data file it is set to false  
                     success: function(data){  
                        // look into detail json data
                        console.log(data);
                        if(data['status'] == false)
                        {
                            alert(data['error']);
                        } else
                        {
                            alert('Import Successfull');
                            $('#employee_table').html(data);
                        }                       
                     }
                })  
           });  
      });  
 </script>  

на php

<?php  

 if(!empty($_FILES["employee_file"]["name"]))  
 {  
      $connect = mysqli_connect("localhost", "root", "", "db");  
      $output = '';  
      $allowed_ext = array("csv");  
      $tmp = explode(".", $_FILES["employee_file"]["name"]);
      $extension = end($tmp); 
      if(in_array($extension, $allowed_ext))  
      {  
           $file_data = fopen($_FILES["employee_file"]["tmp_name"], 'r');  
           fgetcsv($file_data);
           while($row = fgetcsv($file_data))  
           {
               $try = count($row);
               if($try === 6){             
                $id = mysqli_real_escape_string($connect, $row[0]);
                $name = mysqli_real_escape_string($connect, $row[1]);  
                $address = mysqli_real_escape_string($connect, $row[2]);  
                $gender = mysqli_real_escape_string($connect, $row[3]);  
                $designation = mysqli_real_escape_string($connect, $row[4]);  
                $age = mysqli_real_escape_string($connect, $row[5]);                
                $query = "INSERT INTO tbl_employee  
                     (id,name, address, gender, designation, age)  
                     VALUES ('$id','$name', '$address', '$gender', '$designation', '$age')";    
                mysqli_query($connect, $query);
               }else{
                   $status = false;
                   $error = 'Error3';
                   $output = [];
               }
            }
            $status = true;
            $error = [];
            $output = $output;  
      } else {
        $status = false;
        $error = "Error1";
        $output = [];
      }  
 } else {
    $status = false;
    $error = "Error2";
    $output = [];
 }

 header('Content-Type: application/json');
 echo json_encode(array('status'=>$status,'output'=>$output,'error'=>$error), JSON_PRETTY_PRINT);

 ?> 

извините за мой плохой английский

0 голосов
/ 09 октября 2018

Используйте console.log () для проверки ваших данных, предупреждение не может выводить много данных

0 голосов
/ 09 октября 2018

alter() не может выводить сложные данные.попытайтесь использовать console.log().

, данные появятся в консоли браузера вместо непосредственного всплывающего окна.Вы можете нажать F12, а затем нажать Консоль , чтобы просмотреть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...