使用 get 在 laravel中单击时动态加载表单


Dynamically load form on click in laravel with get

我想在用户单击按钮时加载表单。我当前的解决方案通过使用 .get() 拉取预先创建的表单来工作。我的问题是,如果用户直接将 url 键入到表单所在的位置,他们可以看到没有 css 的原始 html 表单。有没有更好的方法来动态拉取表单,或者如果用户直接键入从中提取表单的 url,我甚至可以限制用户查看表单。我当前的解决方案如下所示:

$('#upload-photo').click(function (e) {
    e.preventDefault();
    /// load the contact form using ajax
            $.get("http://pms.dev:8000/uploadphotoform", function(data){
                // create a modal dialog with the data
                $(data).modal({ 
                    closeHTML: "<a href='#' title='Close' class='modalCloseImg'>x</a>",
                    position: ["20%",null],
                    minHeight: '700px',
                    minWidth: '600px',
                    fixed: false,
                });
            });
});

我正在使用幼虫 5 和 SimpleModal js 插件来拉取表单。

您可以在返回表单之前检查请求是否为 ajax 请求:

Route::get('/uploadphotoform', function(){
    if(!Request::ajax()){
        abort(404);
    }
    return view('form');
});

如果这不起作用,请使用在文件顶部添加的use Request;来使用Request外观。

但是为什么要从 ajax 请求加载表单呢?