2017-12-05 8 views
0

私は何が間違っているのか分かりません。私はAjaxとPHPを使って画像をアップロードできるようにしたい。画像はPHPとAJAXを使用してアップロードされていません

ここ

が私のコードである

HTML

<form id="edit-stock-image" > 
     <div class="row"> 
       <div class="col-md-12"> 
        <input type="hidden" name="id" id="stock-id"> 
        <input type="file" class="form-control-file" id="image" name="image" aria-describedby="fileHelp"> 

       </div> 
      </div> 
     </div> 
       <div class="modal-footer edit-stock-image-modal-footer"><br> 
       <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> 
       <button type="submit" id="save-edit-stock-image" class="btn btn-success ">Upload</button> 
       </div> 
</form> 

のjQuery

$(document).on('click', '#save-edit-stock-image', function() { 


      jQuery.ajax({ 
       url: '../data/stock-control.php?action=edit-stock-image', 
       type: "POST",   
       data: new FormData(this), 
       processData: false, //prevent jQuery from converting your FormData into a string 
       contentType: false, 
       success: function(data, textStatus, jqXHR) { 
       console.log(2); 
       $('#edit-stock-image-modal').modal('hide'); 
       jQuery('#sc-sub-menu1').load('/tasks/stock-control/stock-control-process.php'); 


       }, 
       error: function(jqXHR, textStatus, errorThrown){ 

       //Display error message to user 
       alert("An error occured when saving the data"); 
       } 
     }) 

     }); 

PHP

if (!($update_stmt = $mysqli_scs->prepare("UPDATE `stock_stk` SET `image_stk`= ? WHERE (`id_stk`= ?) LIMIT 1;"))) { 
    echo "Prepare failed: (" . $mysqli_scs->errno . ") " . $mysqli_scs->error; 
    } 

    if (isset($_POST['id'])) { 
      $id = $_POST['id']; 
     } 

    if (isset($_FILES['image'])) { 
     $image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
     } 

     $update_stmt->bind_param("bi", $image,$id); 
     //Execute the statement 
     if (!$update_stmt->execute()) { 
      echo "{success:false}"; 
     } 
     // close statement 
     $update_stmt->close(); 
} 

私はblobを使用して画像を保存しています。ユーザーが画像をブラウズして1つを選択してアップロードボタンをクリックすると、その画像を保存します。

+1

それが機能していないしてくださいTELたち。あなたはどんな価値観を得ていますか?エラー? – MadeInDreams

答えて

0

私はあなたのAJAX呼び出しに誤ったURLがあると思う:

$(document).on('click', '#save-edit-stock-image', function() { 
    jQuery.ajax({ 
     // here you wrote '../' I think it's wrong. 
     url: '../data/stock-control.php?action=edit-stock-image', 
     // Another ajax params... 
    }); 
}); 
+0

URLは正常ですが、inspect要素ではURLの動作を見ることができますが、varをすべてダンプすると配列は0を返します –

+0

ブラウザのURLをチェックしていますか?それは何を示していますか? –

関連する問題