Laravel资源控制器Ajax调用

飞行L123

使用Laravel 4.2,我有一个像这样的资源控制器设置:

Route::resource('faq', 'ProductFaqController');

当我/faq在服务器上单击URL时,将index()正确加载控制器的方法。

在一个js文件中,我想对该资源控制器的其他动作之一进行ajax调用,例如该store动作。因此,我这样做:

 $.ajax({
    url:'store',
    dataType:'json',
    success:function(data){
        console.log(data);
    }
});

我遇到的问题是,由于URL是/faq(不带斜杠),因此对/store而不是进行了ajax调用/faq/store

我是否在这里丢失了某些东西,或者是否需要为所有ajax调用的URL加上路由前缀?

如果确实需要添加某种前缀,那么无论调用资源控制器如何获取合适的前缀都可以使用?

杰夫·兰伯特

从命令行运行此命令,它将列出所有URL路由以及它们所附加的控制器方法:

$ php artisan routes     # Laravel 4
$ php artisan route:list # Laravel 5

按原样制作资源控制器会创建7条不同的路由。这些路由都不包含storeURL中的任何位置。store方法存在于控制器上,但响应对URL的POST请求/faq(在您的示例中)

解决这个问题的方法

将jQuery更改为POST而不是获取数据(这是默认设置),然后将AJAX网址更改为'/faq'然后应该在那一点上打正确的路线。

只要能够在不知道实际路线的情况下打到资源控制者路线,就不可能做到这一点(考虑在不知道google.com存在的情况下尝试访问google.com)。我认为但是我了解您要做什么。我假设正在发送AJAX请求,作为对某些用户操作(例如单击按钮)的响应。您可以使用所需的值将数据属性附加到该按钮,以便可以以某种与资源无关的方式发出这些请求。

像这样:

 <button class="test" data-resource="faq">Click me!</button>

 $('.test').on('click', function(e) {
    var resource = $(this).data("resource");

     $.ajax({
        url: '/' + resource,
        dataType:'json',
        type: 'post',
        success:function(data){
            console.log(data);
        }
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未调用 Laravel 资源控制器方法

来自分类Dev

Laravel Ajax调用控制器中的函数

来自分类Dev

Laravel Ajax调用控制器中的函数

来自分类Dev

Laravel - 如何通过 AJAX (jQuery) 调用控制器函数

来自分类Dev

Laravel资源控制器的语言

来自分类Dev

Laravel 5资源控制器

来自分类Dev

用于过滤的 Laravel 资源控制器

来自分类Dev

如何在视图中调用资源控制器索引laravel 4

来自分类Dev

jQuery Ajax调用Codeigniter控制器

来自分类Dev

设置ajax帖子调用的控制器

来自分类Dev

AJAX无法调用弹簧控制器

来自分类Dev

AJAX调用控制器动作

来自分类Dev

laravel (5.6) 中 AJAX POST 和资源控制器的正确方法是什么?

来自分类Dev

Laravel从控制器调用json版本?

来自分类Dev

从其他控制器调用devise资源对象

来自分类Dev

资源控制器,使用AJAX传递多个参数

来自分类Dev

从一个控制器LARAVEL用AJAX调用不同的功能

来自分类Dev

如何在Ajax调用中在控制器外部调用Angularjs控制器函数

来自分类Dev

使用资源控制器的Laravel子域路由

来自分类Dev

Laravel为资源控制器命名路由

来自分类Dev

Laravel嵌套资源和可重用控制器

来自分类Dev

Laravel子域路由和资源控制器

来自分类Dev

Laravel 5资源控制器创建错误

来自分类Dev

Redactor imageUpload和Laravel 4资源控制器

来自分类Dev

Laravel 资源控制器 DELETE 使用 Axios 抛出 405

来自分类Dev

扩展资源控制器

来自分类Dev

将数组从ajax调用传递到控制器,控制器中的数组为空

来自分类Dev

jQuery ajax调用将无法访问控制器:无法加载资源:服务器以状态500(内部服务器错误)响应

来自分类Dev

从控制器中的Ajax调用中检索数据

Related 相关文章

热门标签

归档