Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException,delete按钮_Php_Jquery_Symfony_Laravel_Datatable - Fatal编程技术网

Php Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException,delete按钮

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 路线: 控制器: 型号: 视图: 我不知道为什么它适用于所有其他按钮,但只有第一个按钮抛出例外。 任何帮助都将不胜感

我有一个罕见的问题,我在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>