RouteCollection.php第218行中的MethodNotAllowedHttpException使用Knockout js和Ajax的Laravel 5.1

伊萨克

嗨,我是这个社区的新手。我正在使用Laravel 5.1开发一个Web应用程序,并且我想Sale从ajax POST请求中调用我的模型的方法存储,但是我从控制台获得了它:

RouteCollection.php第218行中的MethodNotAllowedHttpException

会是什么呢?多谢。

这些是我的路线:

//Rutas para inicios de sesión
Route::resource('log', 'LogController');
Route::get('logout','LogController@logout');

//Rutas generales
Route::get('/', 'WelcomeController@index');
Route::get('index', 'WelcomeController@indexdos');


//Routes for users
Route::get('user/actualizar','UserController@actualizar');
Route::get('user/deleter','UserController@deleter');
Route::resource('user', 'UserController');

//Routes for pacients
Route::get('pacient/deleter','PacientController@deleter');
Route::get('pacient/actualizar','PacientController@actualizar');
Route::resource('pacient', 'PacientController');

//Routes for medicaments
Route::get('medicament/deleter','MedicamentController@deleter');
Route::get('medicament/actualizar','MedicamentController@actualizar');
Route::resource('medicament', 'MedicamentController');

//Routes for doctors
Route::get('doctor/deleter','DoctorController@deleter');
Route::get('doctor/actualizar','DoctorController@actualizar');
Route::resource('doctor', 'DoctorController');

//Routes for dates
Route::get('date/deleter','DateController@deleter');
Route::get('date/actualizar','DateController@actualizar');
Route::get('date/bitacora','DateController@bitacora');
Route::resource('date', 'DateController');

//Routes for sales
Route::resource('sale', 'SalesController');`

这是包含我要发送的值的表格 sale.store

@extends('layouts.principal')
@include('Ventas.forms.barra')
@section('content')
<div class="container">
  {!!Form::open()!!}
     <input type="hidden" name="_token" value="{{ csrf_token()}}"      id="token"></input>
    @include('Ventas.forms.sale')
    <button id="btnAgregar" data-bind="click: $root.agregarVenta"    class="btn btn-success">Registrar venta</button>
{!!Form::close()!!}
 </div>
@stop

如您所见,我包括“销售”表格,其中包括剔除js代码:

<div class="form-group">
<table>
<tr>
<td>{!!Form::label('id_doctor_1','Cita a la cual se facturará: ')!!}</td>
<td><select data-bind="options: $root.citas, optionsText: function(item) {
                   return item.paciente()  + '  (Fecha: ' + item.fecha() + ' , Hora: ' +item.hora() + ')'
               },
                                 value: selectedDate,
               optionsCaption: 'Elija una cita...'"></select></td>
</tr>
<tr>
  <td>{!!Form::label('Producto:')!!}</td>
  <td><select data-bind="options: $root.productos, optionsText: function(item) {
                                     return item.nombre()  + '  (Precio de venta: ' + item.precio_venta() + ' ,Existencias: ' +item.existencias() + ')'
                             },
                             value: selectedProduct,
                             optionsCaption: 'Elija un producto...'">     </select></td>

 <tr>
   <td>{!!Form::label('cantidad:')!!}</td>
 <td><input type="number" data-bind="value: cantidad"></input></td>
 </tr>
</table>
</div>
<div class="form-group">
  <label for="btnAgregar" class="col-sm-2 control-label"></label>
   <div class="col-sm-10">
     <button id="btnAgregar" data-bind="click: $root.agregarProducto_venta"   class="btn btn-primary col-sm-8 col-md-offset-1">Agregar producto a la venta actual</button>
</div>
</div>

<div class="form-group">
<br><br/><br><br/>
</div>

<div data-bind="visible: selectedDate"> <!-- Appears when you select something -->
 <div class="post format-image box masonry-brick">
 <!-- Begin Blog Grid -->
 <div class="blog-wrap">
  <table>
     <tr>
         <td><strong>Detalles de cita elegida</strong></td>
     </tr>
     <tr>
         <td><strong>Paciente:</strong></td>
         <td><span data-bind="text: selectedDate() ? selectedDate().paciente : 'unknown'"></span></td>
     </tr>
     <tr>
         <td><strong>Producto:</strong></td>
         <td><span data-bind="text: selectedDate() ? selectedDate().producto : 'unknown'"></span></td>
     </tr>
     <tr>
         <td><strong>Cantidad:</strong></td>
         <td><span data-bind="text: selectedDate() ? selectedDate().cantidad : 'unknown'"></span></td>
     </tr>
     <tr>
         <td><strong>Subtotal:</strong></td>
         <td><span data-bind="text: selectedDate() ? selectedDate().subtotal : 'unknown'"></span></td>
     </tr>
     <tr>
         <td><br><br></td>
     </tr>
     <tr>
         <td><strong>Productos a facturar</strong></td>
     </tr>
     <tr>
         <td colspan="2"></td>
     </tr>
 </table>
 <table>
         <thead>
                 <tr><th>Nombre del producto____|</th><th>Precio____|</th><th>Cantidad____|</th><th>Subtotal____|</th><th>Acción____|</th></tr>
         </thead>
         <tbody data-bind="foreach: productos_venta">
                 <tr>
                         <td data-bind="text: producto"></td>
                         <td data-bind="text: precio"></td>
                         <td data-bind="text: cantidad"></td>
                         <td data-bind="text: subtotal"></td>
                         <td><a href="#" data-bind="click: $root.removeProduct">Remover</a></td>
                 </tr>
         </tbody>
 </table>
  </div>
    </div>
</div>
<h3 style="color:#FAFAFA" data-bind="visible: totalSurcharge() > 0">
  Total (incluyendo medicamentos y cita): $<span data-bind="text: totalSurcharge().toFixed(2)"></span>
</h3>

最后这是我的app.js文件,假设当我单击按钮时btnAgregar,该方法agregarVenta使ajax请求类型为POST,但它不起作用,我在做什么错?再次,非常感谢。

文件app.js(ajax方法):

//Método para agregar una nueva venta al arreglo de ventas, y después pasarlo
//a la base de datos.
self.agregarVenta=function(){
  // crea un nuevo objeto Venta y después lo añade al arreglo.
  var id_cita = self.selectedDate().id();
    var venta= new Venta({id_cita: id_cita,producto:   self.selectedDate().producto(),
    cantidad: self.selectedDate().cantidad(),subtotal:  self.selectedDate().subtotal()});
    self.ventas().push(venta);

  for (var i = 0; i < self.productos_venta().length; i++) {
    venta= new Venta({id_cita: id_cita,producto: self.productos_venta()[i].producto(),
      cantidad: self.productos_venta()[i].cantidad(),subtotal: self.productos_venta()[i].subtotal()});
        self.ventas().push(venta);
  }
  var token = $("#token").val();
  var ruta = "sale.store"
  $.ajax({
     route: ruta,
     headers: {'X-CSRF-TOKEN': token},
     type: 'POST',
     data: {ventas: self.ventas()},
     dataType: 'JSON',
     error: function(respuesta) {alert("error");},
     success: function(respuesta) {
       if (respuesta) {
         alert("exito");
       }else {
         alert("error");
       }
     }
 });
 }
}
阿鲁纳·沃纳索里亚(Aruna Warnasooriya)
<?php
//in route
Route::post('sales/AddItem','SalesController@AddItem');
?>

<script>
$.ajax({
  url: 'sales/AddItem',
  headers: {'X-CSRF-TOKEN': token},
  type: 'POST',
  data: {ventas: self.ventas()},
  dataType: 'JSON',
  error: function(respuesta) {alert("error");},
  success: function(respuesta) {
    if (respuesta) {
      alert("exito");
    }else {
      alert("error");
    }
  }
});
</script>

如果您可以在路线前使用完整的网址,那就更好了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

RouteCollection.php第218行中的Laravel MethodNotAllowedHttpException:

Laravel 5在RouteCollection.php第219行中的MethodNotAllowedHttpException:

RouteCollection.php第201行中的Laravel 5 MethodNotAllowedHttpException:

Laravel 5-RouteCollection.php第143行中的NotFoundHttpException

MethodNotAllowedHttpException RouteCollection.php第218行

Laravel 错误:RouteCollection.php 第 233 行中的 MethodNotAllowedHttpException

Laravel-RouteCollection.php第251行中的MethodNotAllowedHttpException

RouteCollection.php 中的 laravel 5.4 MethodNotAllowedHttpException(第 251 行)

Laravel 5:使用Route :: delete删除用户记录,在RouteCollection.php中获取MethodNotAllowedHttpException

RouteCollection.php第161行中的NotFoundHttpException:在Laravel 5中

Laravel5:RouteCollection.php第161行中的NotFoundHttpException

Laravel 删除方法:RouteCollection.php 第 233 行中的 MethodNotAllowedHttpException:

如何解决RouteCollection.php第218行中的MethodNotAllowedHttpException :?

Laravel 5.4 Ajax 大文件上传错误和 RouteCollection.php 行 251 中的 MethodNotAllowedHttpException

Laravel中RouteCollection.php第161行中的NotFoundHttpException

当我在Laravel上提交表单时,出现错误消息:RouteCollection.php第219行中的MethodNotAllowedHttpException?

RouteCollection.php第161行中的Laravel 5.1 NotFoundHttpException:

RouteCollection.php第161行中的NotFoundHttpException:Laravel 5.3

RouteCollection.php第161行中的NotFoundHttpException laravel 5.2

RouteCollection.php第200行中的MethodNotAllowedHttpException:

RouteCollection.php第219行中的MethodNotAllowedHttpException

RouteCollection.php第521行中的MethodNotAllowedHttpException

RouteCollection.php 第 251 行中的 MethodNotAllowedHttpException

RouteCollection.php 第 233 行中的 MethodNotAllowedHttpException:

Laravel5:Redirect :: to()在RouteCollection.php中的NotFoundHttpException外部链接

laravel 5.2 NotFoundHttpException在RouteCollection.php第161行

Laravel中RouteCollection.php中的NotFoundHttpException

RouteCollection.php中的Laravel 5.3 NotFoundHttpException

使用邮递员的RouteCollection.php第219行中的MethodNotAllowedHttpException