在 Laravel 4 中单击按钮后如何在 jquery 中调用控制器函数

Posted

技术标签:

【中文标题】在 Laravel 4 中单击按钮后如何在 jquery 中调用控制器函数【英文标题】:How to call a controller function in jquery after a button click in Laravel 4 【发布时间】:2013-07-15 11:19:47 【问题描述】:

单击按钮后,我想从控制器调用一个函数以将一些数据存储在数据库中。即,在 javascript (jquery) 中,我有:

$( '.opener' ).click(function() 
        FB.ui(
            method: 'feed',
                // redirect_uri: '/index.php',
            link: 'http://test.com',
            name: 'Bleh',
            caption: 'Blah',
            description: 'Testing!'
            // $artist->stage_name 
            );

        // Want to call controller function here:
         Artists:function


      );

在这种情况下如何从控制器调用函数?在上述情况下,控制器将是 ArtistsController,而函数是“function”。谢谢你。

【问题讨论】:

【参考方案1】:

您只需像普通 URL 一样链接到它 - 像这样:

$( '.opener' ).click(function() 
        FB.ui(
            method: 'feed',
            link: 'http://test.com/artists/function', // put the link here
            name: 'Bleh',
            caption: 'Blah',
            description: 'Testing!'
            );
      );

在你的 routes.php 中

Route::get('/artists/function', array('uses' => 'ArtistsController@function'));

【讨论】:

那会在艺术家控制器中调用函数“function”吗?【参考方案2】:

改变你的路线到

Route::get('artists/function', array('as' => 'artists/function', 'uses' => 'ArtistsController@function'));

【讨论】:

【参考方案3】:

您可以使用一个函数,例如声明为Controller 的 DB 类,但您可以不使用路由直接执行此操作:

<html>
 <body>
  <h1>home.blade.php</h1>
  <?php 
   function test() 
    $users = DB::table('users')->join('users_views', 'users.id', '=', 'users_views.id')->where('users_views.id',Auth::user()->id)-‌​>get(); foreach ($users as $permiso)  $ck2 = $permiso->perm;  
    
   test(); 
   echo ";)"; 
  ?>
 </body>
</html>

【讨论】:

home.blade.php

join( 'users_views', 'users.id', '=', 'users_views.id')->where('users_views.id',Auth::user()->id)->get(); foreach ($users as $permiso) $ck2 = $permiso->perm; 测试();回声“;)”; ?>
【参考方案4】:
<?php   
    function get_fotos_productos($id_prod)
        //here call DB Class 
        foreach ($fotos as $foto)
        
            $foto='<img src="img/productos/big/'.$foto->foto.'"  >';
            echo  $foto;
         

  ?>

例如在我看来

<ul class="nav navbar-nav navbar-right">
    <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> <span class="glyphicon glyphicon-shopping-cart"></span> 7 - Items<span class="caret"></span>
        </a>
        <ul class="dropdown-menu dropdown-cart" role="menu">

        <?php 
        $id_prod=3;
        foreach ($cart as $key => $value) 

            echo '                          
            <li>
                <span class="item">
                    <span class="item-left">
                        '. get_fotos_productos($id_prod).'        
                        <span class="item-info">
                            <span>Codigo :'.$value["code"].'</span>
                            <span>Cantidad : '.$value["qty"].'</span>            
                        </span>
                    </span>
                    <span class="item-right">
                        <button class="btn btn-xs btn-danger pull-right">x</button>
                    </span>
                </span>
            </li>
            ';        

         
         ?>
         <li class="divider">
         <li><?php echo "Costo Total:".$total; ?></li>
         <li><a class="text-center" href="">View Cart</a></li>
      </ul>

    <!-- end snippet -->

【讨论】:

$fotos = DB:: table('productos')->where('id','=',$id_prod)->get();

以上是关于在 Laravel 4 中单击按钮后如何在 jquery 中调用控制器函数的主要内容,如果未能解决你的问题,请参考以下文章

单击laravel vuejs中的按钮后如何隐藏bootstrap-vue模式

在 Laravel 中单击模态后如何获取标签的 data-href 值

单击按钮时附加新文本字段并通过单击 Laravel 4 中的按钮删除

如何使每个单元格在 jquery 数据表中单击按钮时可编辑

动态添加字段到 laravel 表单

如何在我的登录页面中禁用“Laravel 中的会话已过期”?