2017-04-17 107 views
0

我张贴的图像中从我的形式的阵列使用AJAX,并且响应我收到了JSON数据打印JSON数据转换成HTML格式

我接收到下面的代码在我的控制台作为响应;

0"C:\xampp\htdocs\3Dklik\..../1492427792slider_7.jpg" 
1"C:\xampp\htdocs\3Dklik\mog/1492427792slider_2.jpg" 
2"C:\xampp\htdocs\3Dklik\mo…../public/img/1492427792" 
id"" 
user_id"1" 

以下是我AJAX代码:

<script type="text/javascript"> 
    $(document).ready(function(e) { 
     $("#btnsubmit").on('click', function(e) { 
      e.preventDefault(); 
      var formData = $('#uploadform').serialize(); 
      var files = $("#uploadform")[0]; 
      console.log(files); 
      $.ajax({ 
       url: '<?php echo $this->url(' 
       upload ');?>', 
       type: 'POST', 
       data: new FormData(files), 
       xhr: function() { 
        var myXhr = $.ajaxSettings.xhr(); 
        return myXhr; 
       }, 
       success: function(data) { 
        alert("Data Uploaded: " + data); 
        console.log(data); 
       }, 
       error: function(result) { 
        alert("Error"); 
       }, 

       cache: false, 
       contentType: false, 
       processData: false 
      }); 
      return false; 
     }); 
    }); 
</script> 

而下面是我PHP代码;

public function uploadAction() { 
    $request = $this - > getRequest(); 
    if ($request - > isPost()) { 
     $data = array_merge_recursive(
      $request - > getPost() - > toArray(), 
      $request - > getFiles() - > toArray() 
     ); 
     // echo'<pre>';print_r($data); 
    } 
    $image_array = array_slice($data, 2); 
    //print_r($image_array); 
    foreach($image_array as $files) { 
     //print_r($files); 
     $file_new_name = round(microtime(true)).$files['name']; 
     $destination = "public/img/".$file_new_name; 
     $file_name = $files['tmp_name']; 
     move_uploaded_file($file_name, $destination); 
     $data[] = __DIR__.('/../../../../../public/img/').$file_new_name; 
    } 
    return new JsonModel(array(
     'data' => $data 
    )); 
} 

基本上JSON数据包括图像路径,但我希望在我<div>以显示图像。我怎样才能做到这一点?

回答

0

你可以使用JSON格式,如validate.php;

echo json_encode(arrayvalue);

$("#btnsubmit").on('click', function(e) { 
    e.preventDefault(); 
    var formData = $('#uploadform').serialize(); 
    var files = $("#uploadform")[0]; 
    console.log(files); 
    $.ajax({ 
     url: '<?php echo $this->url(' 
     upload ');?>', 
     type: 'POST', 
     data: new FormData(files), 
     dataType: 'json', 
     xhr: function() { 
      var myXhr = $.ajaxSettings.xhr(); 
      return myXhr; 
     }, 
     success: function(data) { 
      alert("Data Uploaded: " + data); 
      console.log(data); 
      $.each(data, function(i, item) { 
       alert(data[i].imgName); 
      }); 
     }, 
     error: function(result) { 
      alert("Error"); 
     }, 
     cache: false, 
     contentType: false, 
     processData: false 
    }); 
    return false; 
}); 
+0

我怎样才能得到imgName? – piyuu

+0

你可以发送数据 $ this-> url('upload');在文件数组中('id'=> 1,'imgname'=>'somename');你可以使用json_encode(array); –