【问题标题】:Laravel : Ajax delete with bootstrap modal dialogLaravel:使用引导模式对话框删除 Ajax
【发布时间】:2016-06-11 00:28:11
【问题描述】:

我有一个引导模式对话框(见下图)

红色危险按钮(标记为 xx)是动作发生的地方。单击该按钮时 - 上传的文件(在本例中为 2013-09-18_16h40_47.png)应在模式对话框仍处于打开状态时被删除,这不是现在发生的情况。下载 id 没有被传递给控制器​​方法当点击红色按钮时模态对话框关闭。

用户界面代码:

{{ 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 请求。

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 你能在一切开始之前在deletedownload() 中检查X-Requested-With: XMLHttpRequest 的Http 标头吗?到目前为止,一切看起来都很好。
  • 在 chrome 中使用 firebug 或 dev 控制台....查看是否发送了请求。

标签: laravel laravel-4


【解决方案1】:

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

更新:

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

【讨论】:

  • @carousel- 对不起,我忘了附上。我已经用我目前拥有的 javascript 更新了我的问题。
  • 我尝试在 JS 中使用命名路由,但仍然得到相同的结果。所以我的 URL 看起来像这样:'=URL::route('download.deletedownload')?>'
猜你喜欢
  • 2013-05-05
  • 2017-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-16
  • 2012-05-13
  • 1970-01-01
相关资源
最近更新 更多