Subir imagen a imgur usando ajax

Estoy tratando de cargar una imagen de imgur en la misma página, sin volver a cargar. solíaajax para realizar eso.

Traté de hacerlo sinajax, y funciona bien, pero vuelve a cargar la página. Así que agregué el siguiente código ajax, y ahora la imagen no se carga en absoluto. ¿Qué estoy haciendo mal y cómo puedo solucionarlo?

$(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>

Aquí está el código php:

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'];  
        } 
    }
}
?>

Actualizar

Aquí hay una imagen de: solicitud / respuesta AJAX

Respuestas a la pregunta(1)

Su respuesta a la pregunta