[英]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.