wenn else-Anweisung in AJAX-Erfolg

Dies ist, wie ich versucht bin, um zu überprüfen, json-Daten. Wenn die Daten, die Einsätze richtig will ich das erwähnt jquery im "success" - code. Aber wenn es nicht eingesteckt ist, soll ich dann sonst-code ausgeführt. Aber die if -, else-Bedingungen nicht ordnungsgemäß funktioniert.Ich bin auch php-code und ajax-code, die ich ausprobiert habe. Mache ich es richtig?

AJAX

$( "#frm_add" ).on('submit',(function(e) {

                e.preventDefault();
                var  img= new FormData(this);
                datas = $("#frm_add").serializeArray();
                $.each(datas,function(key,input){
                    img.append(input.name,input.value);
                });
                $.ajax({
                    url: "response_categories.php", //Url to which the request is send
                    type: "POST",             //Type of request to be send, called as method
                    //data:new FormData(this),
                    data:img,
                    //data: {img:img,datas:datas}, //Data sent to server, a set of key/value pairs (i.e. form fields and values)
                    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)   //A function to be called if request succeeds
                    {

                        if(data == true)
                        {
                            $('#add_model').modal('hide');
                            $("#categories_grid").bootgrid('reload');
                        }
                        else
                        {
                            $("#nameerr").html("<p id='error' style='color:red'>"+data+"</p>");
                        }

                    }

                });
            }));

php

  function insertCategories($params)
    {

        $fileName = $_FILES['cat_image']['name'];
        $name = $params['cat_name'];
        $type = $params['cat_type'];
        $switch = $params['cat_switch'];
        $chk=mysqli_query($this->conn,"select * from categories where cat_name='$name'");
       if(mysqli_num_rows($chk)==0)
       {
           $sql = "INSERT INTO `categories` (cat_name,cat_image, cat_type, cat_switch) VALUES('$name','$fileName', '$type','$switch');  ";
           echo $result = mysqli_query($this->conn, $sql) or die("error to insert Categories data");


           if ($result) {
               if (file_exists("images/" . $_FILES["cat_image"]["name"])) {
                   echo  $fileName . " <span id='invalid'><b>already exists.</b></span> ";
               } else {
                   $sourcePath = $_FILES['cat_image']['tmp_name']; //Storing source path of the file in a variable
                   $targetPath = "images/" .$fileName; //Target path where file is to be stored
                   move_uploaded_file($sourcePath, $targetPath); //Moving Uploaded file
               }

           }
           echo json_encode($result);

       }



    }
Ist, dass Ihre PHP-code? insertCategories wird niemals aufgerufen, wenn das der Fall ist..
Sie haben 2 echo . Wenn der Versand json erwarten müssen json in ajax und senden nur eine echo. Nie true entweder
machen Sie eine Konsole.log(Daten) bevor Sie Ihre if-Anweisung zu prüfen, was Sie Wert sind, immer wieder,
Sie müssen überprüfen Sie den Unterschied zwischen lose Gleichheit (==) und strikte Gleichheit (===). Ihre Logik ist im Moment "wenn was kommt wieder aus dem server auslösen, die Wahrheit ist Bedingung."
wenn Sie console.log(data) was kommt zurück?

InformationsquelleAutor tabia | 2017-06-30

Schreibe einen Kommentar