2011-01-03 14 views
0
var thumb = $('img#thumb'); 

    new AjaxUpload('imageUpload', { 
     action: 'upload.php', 
     name: 'image', 
       autoSubmit:'json', 
     onSubmit: function(file, extension) { 
      $('div.preview').addClass('loading'); 

     }, 
     onComplete: function(file, response) { 
      thumb.load(function(){ 
       $('div.preview').removeClass('loading'); 
       thumb.unbind(); 
      }); 
      thumb.attr('src',pic.response); 
     } 
    }); 

PHP-Datei:Rückgabe von Daten in JSON mit jquery?

<?php 
$arr = array ('pic'=>'img/img.jpg'); 

echo json_encode($arr); 
?> 

aber seine schicke es nicht wieder ich denke, dnt !!! Ich habe versucht, Firebug, aber es zeigt nicht, dass seine Posting, upload.php !!

+0

im Verwendung von calums ajax Upload-Plugin übrigens https://github.com/valums/ajax-upload – getaway

+0

Wenn Firebug angibt, dass die POST-Operation nicht auftritt, dann ist das PHP nicht relevant. Sie müssen ein Debugging für die Ereignishandler und Formularfelder durchführen. –

+0

yeh ich weiß, ich bin so verwirrt !!! thier könnte etwas falsch mit dem Plugin sein !!! – getaway

Antwort

1

Ich sehe nicht, dass Sie alle Daten in Ihrem Code sind zu senden. Werfen Sie einen Blick auf die official documentation vor allem auf data Parameter.

1

Ich vermute, Sie suchen nach response.pic und nicht pic.response.

Sie versagen auch angeben: header('Content-type: application/json');

+0

wo kann ich die Kopfzeile angeben !! danke – getaway

+0

es ist in Ordnung, keine Header zu senden, weil einige dumme Browser das nicht verstehen und die Antwort als Download speichern. Um den JSON zu lesen, benutze Jquery 'parseJSON' http://api.jquery.com/jQuery.parseJSON/ – s3v3n

+0

@getaway - benutze das einfach als erste Zeile des PHP-Skripts. – Quentin