使用ajax将图像上传到imgur

我正在尝试从同一页面上的imgur加载图像,而无需重新加载。 我用ajax来执行它。

我尝试没有ajax ,它工作正常,但它重新加载页面。 所以我添加了以下ajax代码,现在图像根本没有加载。 我做错了什么,我该如何解决?

 $(document).ready(function() { function onsuccess(response, status) { $("#onsuccessmsg").html("Status :" + status + '

Response Data :
' + response + '
'); } $("#uploadform").on('submit', function() { var options = { url: $(this).attr("action"), success: onsuccess }; $(this).ajaxSubmit(options); return false; }); });
   


Message :

这是php代码:

upload.php的

 <?php $img=$_FILES['img']; if(isset($_POST['submit'])){ if($img['name']==''){ echo "

An Image Please.

"; }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); https://stackoverflow.com/questions/33640571/upload-image-to-imgur-using-ajax/$url=$pms['data']['link']; if(https://stackoverflow.com/questions/33640571/upload-image-to-imgur-using-ajax/$url!=""){ echo "

Uploaded Without Any Problem

"; echo ""; }else{ echo "

There's a Problem

"; echo $pms['data']['error']; } } } ?>

更新

这是一张图片:AJAX请求/响应

在此处输入图像描述

 An Image Please."; }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); https://stackoverflow.com/questions/33640571/upload-image-to-imgur-using-ajax/$url=$pms['data']['link']; if(https://stackoverflow.com/questions/33640571/upload-image-to-imgur-using-ajax/$url!=""){ echo "

Uploaded Without Any Problem

"; echo ""; }else{ echo "

There's a Problem

"; echo $pms['data']['error']; } } ?>

你不需要

 if(isset($_POST['submit'])) 

在upload.php中