Laravel:使用bootstrap模式对话框删除Ajax

时间:2014-02-14 20:06:43

标签: laravel laravel-4

我有一个bootstrap模式对话框(见下图)enter image description here

红色危险按钮(由xx标记)是动作发生的地方。单击该按钮时 - 应该删除上载的文件(在本例中为2013-09-18_16h40_47.png),而模式对话框仍然打开,这不是现在正在发生的事情。下载ID未传递给控制器​​方法单击红色按钮时模式对话框将关闭。

UI代码:

{{ Form::open( array('route' => 'download.deletedownload','method' => 'post','id' => 'form-add-setting') ) }}
                                                                    {{Form::hidden('downloadId',$download->id)}}
                                                                    <button id="downloadDelete" type="submit" class="btn btn-xs btn-danger">xx</button> 
                                                                {{Form::close()}}

路线看起来像这样

Route::post('deletedownload', array('uses' => 'DownloadsController@deletedownload', 'as'=>'download.deletedownload'));

,控制器方法如下所示

public function deletedownload()
{
    if(Request::ajax()) {
        dd("this is an ajax request");
    };
    var_dump('i am in the deletedownload method of the DownloadsController class');
    $id = Input::get('id');
    dd($id);
    return Redirect::back();
}

Javascript:

   $('#downloadDelete').click(function (e)
    {

        $.ajax({
            type: 'POST',
            url: '<?=URL::to('/')?>/deletedownload',
            data: 'dataString',
            dataType:'json',
            success: function(result)
            {
               console.log(result);
            }
        })

    });

这是输出

string(66) "i am in the deletedownload method of the DownloadsController class" NULL

请注意,“这是一个ajax请求”没有得到回应。因此,我有理由相信这不是ajax请求。

任何帮助都将受到赞赏。

感谢

1 个答案:

答案 0 :(得分:0)

你的Javascript在哪里? Ajax请求应该使用Javascript或jQuery从客户端显式发送。我不知道Ajax是否已附加在该模态按钮上?

<强>更新

我可以看到你在服务器端使用命名路由,但在Ajax请求中你指向URL?