Я застрял в запросе POJ-запроса ajax.405 (метод не разрешен) в настраиваемом URL-маршруте Laravel 5.2
- Мой URL выглядит следующим образом
localhost/product/list
(если строка нажата, она будет перенаправлять page.edit через запрос, как этотlocalhost/product/list/edit/{id}
) Когда
localhost/product/list/edit/{id}
принимает запрос на редактирование ответ показывает ошибку подобныйlocalhost/product/list/edit/update_list 405 (Method Not Allowed)
.Я смущен, почему URL-адрес изменяется от
localhost/product/list/edit/{id}
доlocalhost/product/list/edit/update_list
, я имею в виду, что переменная/{id}
отсутствует.
консоли всегда маркирует эту часть в моем AJAX edit.js как ошибка.
$.ajax({
type:"POST",
data: {
'id': id,
'judul': judulArtikel,
'isi': isiArtikel,
// --- till the end ---
}
});
Вот мои load.js который загружает данные из базы данных.
<td><a id='"+result.data[count-1].id+"'' href='list/edit/"+result.data[count-1].id+"' class='glyphicon glyphicon-pencil'></a></td>
Это мой route.php
.
Route::get('list/edit/{id}', '[email protected]_to_edit');
Route::post('/update_list', '[email protected]_list');
Это мой контроллер.
public function list_to_edit($id){
$artikel = Artikel::where("id","=",$id)->get();
return view('page.edit',compact('artikel'));
}
Вот мои edit.js.
$(document).ready(function(){
\t
\t \t $('#isi_artikel').summernote({
\t \t \t height: 300,
\t \t \t minHeight: 400,
\t \t \t maxHeight: 400,
\t \t \t focus: true
\t \t });
\t \t
\t $('#btn_submit').click(function(e){
\t \t e.preventDefault();
\t \t var isiArtikel = $('#isi_artikel').summernote('code');
\t \t var judulArtikel = $('#judul').val();
\t \t var deskripsiArtikel = $('#deskripsi').val();
\t \t var kategori = $('input[name="etype"]:checked').val();
\t \t if($('#inputpicture').val() == ""){
\t \t
\t \t $.ajaxSetup({
\t \t \t headers: {
\t \t \t \t 'X-CSRF-TOKEN':$('meta[name="csrf_token"]').attr('content')
\t \t \t }
\t \t })
\t \t $.ajax({
\t \t \t type:"POST",
\t \t \t data: {
\t \t \t \t 'id' \t \t : id,
\t \t \t \t 'judul' \t : judulArtikel,
\t \t \t \t 'isi' \t \t : isiArtikel,
\t \t \t \t 'kategori' \t : kategori,
\t \t \t \t 'deskripsi' : deskripsiArtikel,
\t \t \t \t 'image' \t \t : null
\t \t \t },
\t \t \t dataType: "json",
\t \t \t url: "update_list",
\t \t \t beforeSend: function (request) {
\t \t return request.setRequestHeader('X-CSRF-Token', $("meta[name='csrf_token']").attr('content'));
\t \t },
\t \t \t success: function(result){
\t \t \t \t if(result){
\t \t \t \t \t window.location.href = "kelola";
\t \t \t \t }
\t \t \t },
\t \t \t error : function(jqXhr) {
\t \t var errors = jqXhr.responseJSON;
\t \t //console.log(jqXhr);
\t \t errorsHtml = "<div class='alert alert-warning text-center' role='alert'>";
\t \t $.each(errors , function(key, value) {
\t \t errorsHtml += value[0] ;
\t \t //console.log(value[0]);
\t \t });
\t \t errorsHtml += "</div>";
\t \t
\t \t \t \t $('.alerts').html("<div>gila lu</div>");
\t \t $('.alerts').append(errorsHtml).fadeIn(200).fadeToggle(10000).fadeOut(50);
\t \t }
\t \t }, "json");
\t \t }else{
\t \t \t var ajax = function(imageData){
\t \t \t \t requestUploadArtikel(judulArtikel, isiArtikel, kategori, deskripsiArtikel, imageData);
\t \t \t }
\t \t imageupload($('#inputpicture').get(0), ajax);
\t \t }
\t \t \t \t \t \t \t
\t \t \t \t \t \t \t
\t });
\t function requestUploadArtikel(judul, isi, kategori, deskripsi, imageData){
\t \t $.ajaxSetup({
\t \t \t headers: {
\t \t \t \t 'X-CSRF-TOKEN':$('meta[name="csrf_token"]').attr('content')
\t \t \t }
\t \t })
\t \t $.ajax({
\t \t \t type:"POST",
\t \t \t data: {
\t \t \t \t 'id' \t \t : id,
\t \t \t \t 'judul' \t : judul,
\t \t \t \t 'isi' \t \t : isi,
\t \t \t \t 'kategori' \t : kategori,
\t \t \t \t 'deskripsi' : deskripsi,
\t \t \t \t 'image' \t \t : imageData
\t \t \t },
\t \t \t dataType: "json",
\t \t \t url: "update_artikel",
\t \t \t success: function(result){
\t \t \t \t if(result){
\t \t \t \t \t window.location.href = "kelola";
\t \t \t \t }
\t \t \t },
\t \t \t error : function(jqXhr) {
\t \t var errors = jqXhr.responseJSON;
\t \t //console.log(jqXhr);
\t \t errorsHtml = "<div class='alert alert-warning text-center' role='alert'>";
\t \t $.each(errors , function(key, value) {
\t \t errorsHtml += value[0] ;
\t \t //console.log(value[0]);
\t \t });
\t \t errorsHtml += "</div>";
\t \t
\t \t \t \t $('.alerts').html("<div>gila lu</div>");
\t \t $('.alerts').append(errorsHtml).fadeIn(200).fadeToggle(10000).fadeOut(50);
\t \t }
\t \t }, "json");
\t }
\t function imageupload(element, ajax){
\t \t console.log('testimageupload');
\t \t
\t var elementId = element.id;
\t if(element.files && element.files[0]){
\t var file = element.files[0];
\t var validFileType = ".jpg, .png, .bmp";
\t var extension = file.name.substring(file.name.lastIndexOf('.')).toLowerCase();
\t $("#"+elementId+"-show").attr('src', "");
\t console.log(extension);
\t //validatefile
\t if(validFileType.toLowerCase().indexOf(extension)<0){
\t $("#"+elementId+"-alert").show();
\t $("#"+elementId+"-show")
\t .attr('style', '')
\t \t \t \t .css('height','auto')
\t return;
\t }
\t $("#"+elementId+"-alert").hide();
\t //showfile
\t var reader = new FileReader();
\t reader.onload = function(e){
\t \t ajax(e.target.result);
\t }
\t if (reader.readAsDataURL) {reader.readAsDataURL(element.files[0]);}
\t else if(reader.readAsDataurl) {reader.readAsDataurl(element.files[0]);}
\t else if(reader.readAsDataUrl) {reader.readAsDataUrl(element.files[0]);}
\t }
\t else{
\t \t console.log('else');
\t $(elementId+"-show").attr('src',"");
\t }
\t }
});
вот мой edit.blade.php
@extends('layout.layout')
@section('css')
<link href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.1/summernote.css" rel="stylesheet">
@stop
@section('script')
<script type="text/javascript" src="{{ asset('js/artikel/edit.js') }}"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.1/summernote.js"></script>
@stop
@section('content')
<!-- Main Content -->
<div class="container">
<div class="row">
<h1 class="text-center edittengah">Edit Artikel</h1>
<div class="alerts"></div>
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
@foreach ($artikel as $a_artikel)
<input type="hidden" name="_token" value="{{{ csrf_token() }}}" />
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Judul Artikel</label>
<input type="text" class="form-control" placeholder="Judul Artikel" id="judul" required data-validation-required-message="Harap tuliskan judul artikel." value="{{$a_artikel->judul}}">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="row control-group">
<div class="form-group col-xs-12 controls">
<label for="inputpicture">Ganti Foto Artikel</label>
<input type="file" name="picture" class="" id="inputpicture">
</div>
</div>
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Deskripsi Artikel</label>
<textarea name="deskripsi" id="deskripsi" cols="70" rows="5" placeholder="Deskripsi Artikel">{{ $a_artikel->deskripsi }}</textarea>
<p class="help-block text-danger"></p>
</div>
</div>
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Isi</label>
<div id="isi_artikel">{!! $a_artikel->content !!}</div>
<p class="help-block text-danger"></p>
</div>
</div>
<br>
<div class="row control-group">
\t \t <div class="form-group col-xs-12 controls">
<label>Jenis Artikel</label>
<?PHP if($a_artikel->kategori == "umum"){?>
<label><input class="CBumum" type="radio" name="etype" value="umum" checked="true"> Umum </label>
<label><input class="CBsh" type="radio" name="etype" value="selfhelp"> Self Help </label>
<label><input class="CBact" type="radio" name="etype" value="activites"> Activities </label>
<?PHP }
elseif($a_artikel->kategori == "selfhelp"){
?>
<label><input class="CBumum" type="radio" name="etype" value="umum" > Umum </label>
<label><input class="CBsh" type="radio" name="etype" value="selfhelp" checked="true"> Self Help </label>
<label><input class="CBact" type="radio" name="etype" value="activites"> Activities </label>
<?php }
else{
?>
<label><input class="CBumum" type="radio" name="etype" value="umum" > Umum </label>
<label><input class="CBsh" type="radio" name="etype" value="selfhelp"> Self Help </label>
<label><input class="CBact" type="radio" name="etype" value="activites" checked="true"> Activities </label>
<?php }?>
\t
\t \t \t
</div>
</div>
<hr>
<br>
<div id="success"></div>
<div class="row">
<div class="form-group col-xs-12">
<input class="btn btn-success" id="btn_submit" type="submit">
@endforeach
</div>
</div>
</div>
</div>
</div>
@stop
Ваша помощь необходима. Заранее спасибо.