当前位置: 首页 > 知识库问答 >
问题:

Laravel ajax url在生产服务器上不起作用

钦永贞
2023-03-14

我在我的Laravel项目中有这个ajax请求(这是一个简单的版本,但它正在工作):

$.ajax({
            method: 'POST', // Type of response and matches what we said in the route
            url: '/admin/lessons/addMember/licenseMemberId', // This is the url we gave in the route
            data: {'licenseMemberId' : id},
            success: function(response){ 
                console.log(response);

                if ($.trim(response)) {
                    var actualMembers = document.getElementById("actual-member");
                }
                $('#membersModal').modal('hide');
            },  
        });

当我在本地工作,我使用PHP工匠服务ajax调用工作,但当我部署到我的正式服没有(因为路径 /admin/lessons/addMember/licenseMemberId不是服务器中的完整路径)。最好的方法应该是走这条路线,但我不知道怎么走。这是路由表:

web                                          |
|        | POST      | admin/lessons/addMember/{licenseMemberId}                     | lessons.addMember               | App\Http\Controllers\admin\LessonController@addMember  

有没有办法在参数设置中使用laravel路线?如果没有,我该怎么办?

共有3个答案

充星腾
2023-03-14

真正的路线是

admin/lessons/addMember/{licenseMemberId}   

所以在javascript中,您需要调用

'/admin/lessons/addMember/' + id 

其中id是一个变量。在控制器中,您可以使用id获取

Input::get('licenseMemberId') or $request->get('licenseMemberId'); 
邢修明
2023-03-14

不接收路由中的参数。

URL应该是:/admin/lessons/addMember

$.ajax({
            method: 'POST', // Type of response and matches what we said in the route
            url: '/admin/lessons/addMember', // This is the url we gave in the route
            data: {'licenseMemberId' : id},
            success: function(response){ 
                console.log(response);

                if ($.trim(response)) {
                    var actualMembers = document.getElementById("actual-member");
                }
                $('#membersModal').modal('hide');
            },  
        });

以及控制器:

$member_id = request('licenseMemberId');
酆晔
2023-03-14

你不应该像在vanila php或html中使用URL那样在Laravel中使用URL,使用URL函数,这个函数可以确保你的路由直接指向项目根,在你的情况下,你可以这样做

$.ajax({
        method: 'GET', 
        url: '{{URL::to('/admin/lessons/addMember/')}}' + id, 
// Laravel will print the url and you just need to concat your id to it
        success: function(response){ 
            console.log(response);

            if ($.trim(response)) {
                var actualMembers = document.getElementById("actual-member");
            }
            $('#membersModal').modal('hide');
        },  
    });

注意,我使用GET,因为您似乎在检索数据而不是发布数据,但是如果您需要发布数据,那么MisaGH答案就是最好的选择

 类似资料:
  • 我目前正在使用php。我想将PHP与sql服务器连接,但它不能在生产服务器上工作。它在我的本地机器上工作得很好,因为我在php的扩展文件夹中安装了sql服务器驱动程序,并在php-ini文件中激活了它。我确认驱动程序已经加载到生产驱动程序中,因为它托管在windows服务器中,而不是linux服务器中。我需要帮助,因为相同的脚本,我连接我的本地机器到云sql服务器是相同的脚本,我现在使用连接PHP

  • 我的插座有问题。io作为一名广播员与laravel echo合作。 我试过什么: 我可以看到用户在日志中连接: 我的队列正在运行,正在正确记录所有事件。 我可以在redis控制台中完美地看到redis我的事件和数据库通知。 但是没有广播任何事件,我也没有在laravel echo服务器控制台中看到它们。一切都在我的本地主机上运行,但在生产环境中没有,我失去了理智。 以下是我的laravel ech

  • 问题内容: 从我的本地计算机到开发服务器,Web Deploy 3.0可以使用以下命令与Visual Studio 2012发布配置文件配合使用: msbuild。\ myproj.csproj / verbosity:d /p:DeployOnBuild=true;PublishProfile=Develop;VisualStudioVersion=11.0;AllowUntrustedCert

  • 在java.library.path:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib64:/lib:/usr/lib上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中实现最佳性能 此外,错误是: tomcat已经开始运行了,但恐怕还会再次发生。服务器上最近没有更新或安装,原因是什么?此外,有什么可能的永久解决办法呢?

  • 我正在另一台计算机上安装Wamp服务器,以运行一个中型数据库和用户界面。我已经成功拦截了IIS,并将服务器路由到Localhost:8080。但是每当我试图从本地主机主页访问我的项目时,在www文件中;我被重定向到一个页面没有找到错误。 当我将鼠标悬停在链接上方时,目录总是出现“http:// ProjectFolderNameHere /”。当它应该是“http:// LocalHost:808

  • 在运行rails 5.2.2和ruby 2.6.1的家用服务器上,一切正常;但是在我的linode上,我拒绝了用户“部署”@“localhost”的访问(使用密码:是)在家用服务器的database.yml中,我使用大卫作为用户,即unix帐户。在linode上使用相同的database.yml,我已经部署为database.yml文件中的用户。部署是linode服务器的unix帐户。 我已经尝试