Upload Bild imgur mit Ajax

Ich versuche, ein Bild von imgur auf derselben Seite zu laden, ohne es neu zu laden. Ich benutzteajax um das auszuführen.

Ich habe versucht, es ohne @ zu tajax, und es funktioniert gut, aber es lädt die Seite neu. Also habe ich den folgenden Ajax-Code hinzugefügt, und jetzt wird das Bild überhaupt nicht geladen. Was mache ich falsch und wie kann ich das beheben?

$(document).ready(function() {
  function onsuccess(response, status) {
    $("#onsuccessmsg").html("Status :<b>" + status + '</b><br><br>Response Data :<div id="msg" style="border:5px solid #CCC;padding:15px;">' + response + '</div>');
  }
  $("#uploadform").on('submit', function() {
    var options = {
      url: $(this).attr("action"),
      success: onsuccess
    };
    $(this).ajaxSubmit(options);
    return false;
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://malsup.github.io/jquery.form.js"></script>

<form action="upload.php" method="POST" enctype="multipart/form-data" id="uploadform">
  <input type="file" name="img" />
  <input type="submit" name="submit" value="Upload" />
  <br/>
  <br/>Message :
  <div id="onsuccessmsg" style="border:5px solid #CCC;padding:15px;"></div>
</form>

Hier ist der PHP-Code:

upload.php
<?php
$img=$_FILES['img'];
if(isset($_POST['submit'])){ 
    if($img['name']==''){  
        echo "<h2>An Image Please.</h2>";
    }else{
        $filename = $img['tmp_name'];
        $client_id="my-id";
        $handle = fopen($filename, "r");
        $data = fread($handle, filesize($filename));
        $pvars   = array('image' => base64_encode($data));
        $timeout = 30;
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_URL, 'https://api.imgur.com/3/image.json');
        curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
        curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Client-ID ' . $client_id));
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
        $out = curl_exec($curl);
        curl_close ($curl);
        $pms = json_decode($out,true);
        $url=$pms['data']['link'];
        if($url!=""){
            echo "<h2>Uploaded Without Any Problem</h2>";
            echo "<img src='$url'/>";
        }else{
            echo "<h2>There's a Problem</h2>";
            echo $pms['data']['error'];  
        } 
    }
}
?>

Aktualisiere

Hier ist ein Bild von: AJAX request / response

Antworten auf die Frage(2)

Ihre Antwort auf die Frage