sql >> Database teknologi >  >> RDS >> Mysql

filen uploades ikke i ajax php mysql

Først og fremmest serialize()-funktionen virker ikke for fil, du skal lave et formobjekt, hvorigennem du kan sende dataene og vil fungere perfekt. Jeg havde det samme problem, og jeg har lige løst dit problem og fungerer 100% fordi jeg har testet dette. Tjek venligst ud. Formularen.

<form name="multiform" id="multiform" action="process.php" method="POST" enctype="multipart/form-data">
               name : <input type="text" name="name" id="name"/>
               </br>
               message : <input type="text" name="message" id="message" />
               </br>
               Image : <input type="file" name="file" id="file" />
        </form>
               <input  type="button" id="multi-post" value="Run Code"></input>
               <div id="multi-msg"></div>
 

Scriptet.

<script type="text/javascript">
$(document).ready(function(){
$("#multiform").submit(function(e)
{
    var formObj = $(this);
    var formURL = formObj.attr("action");

if(window.FormData !== undefined)  
    {
        var formData = new FormData(this);
        $.ajax({
            url: formURL,
            type: 'POST',
            data:  formData,
            mimeType:"multipart/form-data",
            contentType: false,
            cache: false,
            processData:false,
            success: function(data, textStatus, jqXHR)
            {
                    $("#multi-msg").html('<pre><code>'+data+'</code></pre>');
            },
            error: function(jqXHR, textStatus, errorThrown) 
            {
                $("#multi-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
            }           
       });
        e.preventDefault();
        e.unbind();
   }
});
$("#multi-post").click(function()
    {
    //sending form from here
    $("#multiform").submit();
});

});

</script>
'); }, fejl:function(jqXHR, textStatus, errorThrown) { $("#multi-msg").html('
AJAX-anmodning mislykkedes
textStatus='+textStatus+', errorThrown='+errorThrown+'
'); } }); e.preventDefault(); e.unbind( ); }});$("#multi-post").click(function() { //sende formular herfra $("#multiform").submit();});});

Og din php-fil er den samme, som jeg har testet og virker.

<?php
  mysql_connect("localhost","root","");
  mysql_select_db("ajaxdatabase");

  $name=$_POST["name"];
  $message=$_POST["message"];
  //storing file in filename variable
    $fileName = $_FILES['file']['name'];
    //destination dir
    $to="image/".$fileName;

    move_uploaded_file($_FILES['file']['tmp_name'],$to);

  $query=mysql_query("INSERT INTO common(name,message,destination) values('$name','$message','$to') ");

  if($query){
    echo "Your comment has been sent";
  }
  else{
    echo "Error in sending your comment";
  }

?>
 



  1. python mysqldb fejl på min mac:Bibliotek ikke indlæst:@rpath/libmysqlclient.21.dylib

  2. Forøg og sænk rækkeværdien med 1 i MySQL

  3. PyMySQL returnerer gamle/snapshot-værdier/kører ikke forespørgsel igen?

  4. 7 ting at vide om rum på Oracle Cloud Infrastructure