2016-07-31 19 views
1

Ich habe ein Formular, das Bilddatei lädt dann aktualisiert Bildwert in der Datenbank erfolgreich über Ajax. Wenn ich jedoch versuche, .load die profile_pic.php, die das oben genannte Bild-Tag, das Bild wird nicht auf der Webseite aktualisiert. Ich möchte die Seite nicht aktualisieren. Die Echo-Anweisung aus dem PHP gibt den gleichen src-Pfad aus, der bereits in dom existiert. Ich brauche es, um so zu bleiben. Kann jemand einen besseren Ansatz empfehlen?Image nicht auf jquery laden Laden

<div class="actor-profile-pic"> 
    <img id="profilepic" src="uploads/jgunzblazin">      
</div> 

<form id="file-form" name="uploadpic" class="infoHeader" enctype="multipart/form-data"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="5242888" /> 
    <input type="file" name="image" /> 
    <input type="submit" name="uploadpic" value="Submit" /> 
</form> 

$(document).ready(function(){ 
    $("#file-form").on('submit',(function(e) { 
     e.preventDefault(); 
     $.ajax({ 
      url: "actor_profile.php", 
      type: "POST", 
      data: new FormData(this), 
      contentType: false, 
      cache: false, 
      processData:false, 
      success: function(data){ 
       $(".actor-profile-pic").load("../profile_pic.php #profilepic"); 
      }   
     }); 
    })); 
}); 
+0

Also was soll die 'profile_pic.php' jetzt zurück schicken? Html oder nur der Bildlink? Soll die Antwort "" ersetzen? Ihre Erklärung ist ein bisschen schwer zu folgen, was Sie erwarten. – Rasclatt

+0

Ja, die Antwort ersetzt das vorhandene img-Tag durch dasselbe img-tag aus der Antwort. Ich denke, das ist das Problem. Das Bild wird nicht aktualisiert, wenn der Quellcode durch den gleichen Quellcode ersetzt wird. – Jgunzblazin

+0

Ich setze derzeit den Image-Namen im Pfad zum $ username. Jedes hochgeladene Bild hat also immer denselben Namen. Daher, warum das Bild nicht aktualisiert wird. Ich wette wenn ich den Bildnamen auf einen zufälligen Namen setze - es wird funktionieren. – Jgunzblazin

Antwort

0

So stellte sich heraus, dass das Bild nicht aktualisiert wurde, weil ich das img src-Tag mit dem gleichen img src-Wert aktualisiert hatte, der von /profile_pic.php ausgegeben wurde. Sobald ich den Namen des Dateinamens ändere, wurde das Bild erfolgreich aktualisiert.

0

Ich nehme an, dass Ihre PHP-Datei nach dem erfolgreichen Upload und Datenbankeinsatz zurück (echo) das Bild relativer Pfad/Dateiname (zB images/my-photo.jpg.); die letztlich an die Daten Erfolgsvariable Callback-Funktion übergeben wird. versuchen

In diesem Fall könnten Sie auch:

success: function(data){ 
    $(".actor-profile-pic img").attr("src",data); 
} 

Bitte überprüfen Sie, ob dies für Sie arbeitet.