簡體   English   中英

Laravel使用AJAX更新上傳

[英]Laravel update upload using AJAX

這是編輯上傳的圖片和標題的代碼,我不知道該怎么ID傳遞給控制器: 在這里形式

<form role="form" name="campaignForm" id="campaignForm" action="" method="POST"  enctype="multipart/form-data">
 <input type="hidden" class="form-control" name="id" id="id">
<input type="text" class="form-control" name="title_edit" id="title_edit" autofocus>
  <p class="errorTitle text-center alert alert-danger hidden"></p>
 <input type="file" name="image" id="image" autocomplete="off" placeholder="" class="form-control">

 <button type="button" id="btn-edit" class="btn btn-success add" data-dismiss="modal">Add</button>
</form>  

阿賈克斯

   $("#btn-edit").click(function (e) {
       $.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
    }
});

    e.preventDefault();

   var form = document.forms.namedItem("campaignForm"); 
var formData = new FormData(form);

$.ajax({
    'id': $("#id").val(),
    type: 'POST',
    url: 'update-advertisement/',
    contentType: false, 
    data: formData, 
    processData: false, 

    success: function (data) {
 }

路線

   Route::post('update-advertisement',['as'=>'update-advertisement','uses'=>'AdverController@updatebanner']);

控制器,我不知道這是否正確,因為ID可能未正確發送

     public function updatebanner(Request $request,$id)
   {
   $post = Advertisement::findOrFail($id);
    if ($request->hasFile('image')) { $imagename = time().'.'.$request->file('image')->getClientOriginalExtension();
     $path =$request->file('image')->storeAs('/images', $imagename);
  $post->adver_title=$request->sendthis_title;
  $post->adver_photo=$imagename; 
  $post->save();
  return response()->json($post);
   } }

為了使“更新”功能起作用,您將執行與“添加”功能已經完成的非常相似的操作。

1)確保為/ update路由定義了路由。 您可以在上面發布路線文件,以便我們進行查看嗎?

2)確保您的路由正在調用正確的控制器和該控制器內的正確方法。

3)確保在步驟2中提到的控制器已定義該方法。

4)使用正確的數據對您在步驟1中定義的新/ update路由進行Ajax調用。

5)確保當用戶單擊“更新”按鈕或其他指示他們想要更新原始廣告的操作時,觸發了步驟4)中的Ajax調用。

如果您發布更多代碼,我可以為您提供更具體的說明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM