Php Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException,delete按钮
我有一个罕见的问题,我在php中使用Laravel 4,我在jQuery数据表中有一个删除按钮,我在删除注册表,当我在除第一次调用tipos.destoy方法之外的任何其他数据中按下该按钮时,效果很好!但当我按下第一个删除按钮时,它会抛出异常: Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 路线: 控制器: 型号: 视图: 我不知道为什么它适用于所有其他按钮,但只有第一个按钮抛出例外。Php Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException,delete按钮,php,jquery,symfony,laravel,datatable,Php,Jquery,Symfony,Laravel,Datatable,我有一个罕见的问题,我在php中使用Laravel 4,我在jQuery数据表中有一个删除按钮,我在删除注册表,当我在除第一次调用tipos.destoy方法之外的任何其他数据中按下该按钮时,效果很好!但当我按下第一个删除按钮时,它会抛出异常: Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 路线: 控制器: 型号: 视图: 我不知道为什么它适用于所有其他按钮,但只有第一个按钮抛出例外。 任何帮助都将不胜感
任何帮助都将不胜感激。我解决了问题,只需添加另一个表单:
<td>
<form method="POST" action="http://localhost/posm/public/tipos/" accept-charset="UTF-8"><input name="_method" type="hidden" value="DELETE"><input name="_token" type="hidden" value="zrWDtdGVRnzreYGnZizSHqeIo7jPQlXBlGP03iJW">
</form>
{{ Form::open(array('method' => 'DELETE', 'route' => array('tipos.destroy', $tipo->id))) }}
{{ Form::submit('Delete', array('class' => 'btn btn-danger')) }}
{{ Form::close() }}
</td>
我不清楚我为什么要这样做,我想这是拉威尔的一个错误,但它是有效的,谢谢 当您在表单::open中指定路由时,您不必设置http方法。对不起,我不明白,请您更具体一点。为了澄清您的问题,您的具体问题是当您单击上面表单中的btn danger元素时,Laravel正在抛出MethodNotAllowed异常?是的,仅在btn btn danger中,我有一个数据表,所以我有很多删除按钮,但只有当我按下第一个删除按钮时,我才会抛出这个异常,当我按下除第一个按钮之外的任何其他删除按钮时,数据表会删除注册表。我看不出你的表单有任何明显的错误,尽管我会提到,如果您1检查表单的呈现html输出以确保它与您期望的匹配,2在单击其中一个删除按钮后验证URL与您期望的匹配,它可能会帮助您调试此功能。其中一个最有可能是某种原因
public function destroy($id)
{
$this->tipo->find($id)->delete();
return Redirect::route('tipos.index');
}
protected $guarded = array();
protected $table = 'tipos';
protected $fillable = array('clave_tipo', 'nombre_tipo', 'created_by', 'updated_by');
public static $rules = array(
'clave_tipo' => 'required',
'nombre_tipo' => 'required',
'created_by' => 'required',
'updated_by' => 'required'
);
@foreach($tipos as $tipo)
<tr>
<td>{{{ $tipo->clave_tipo }}}</td>
<td>{{{ $tipo->nombre_tipo }}}</td>
<td>{{ link_to_route('tipos.edit', 'EDITAR', array($tipo->id), array('class' => 'btn btn-success')) }}</td>
<td>
{{ Form::open(array('method' => 'DELETE', 'route' => array('tipos.destroy', $tipo->id))) }}
{{ Form::submit('Delete', array('class' => 'btn btn-danger')) }}
{{ Form::close() }}
</td>
</tr>
@endforeach
<td>
<form method="POST" action="http://localhost/posm/public/tipos/" accept-charset="UTF-8"><input name="_method" type="hidden" value="DELETE"><input name="_token" type="hidden" value="zrWDtdGVRnzreYGnZizSHqeIo7jPQlXBlGP03iJW">
</form>
{{ Form::open(array('method' => 'DELETE', 'route' => array('tipos.destroy', $tipo->id))) }}
{{ Form::submit('Delete', array('class' => 'btn btn-danger')) }}
{{ Form::close() }}
</td>