如何从 laravel 中的 ajax 调用中获取值

Posted

技术标签:

【中文标题】如何从 laravel 中的 ajax 调用中获取值【英文标题】:How to get a value from ajax call in laravel 【发布时间】:2016-09-24 15:09:48 【问题描述】:

我想从控制器函数中的 ajax 调用中获取一个值。我该怎么做?

我的代码在这里:

<a  href="javascript:void(0)" onclick="amount_pay(' $res->id');"><i class="fa fa-pencil-square-o"></i></a>

我的脚本:

<script>

function amount_pay(id) 
          
            $.ajax(
            type: 'POST',
            url:  'amount_popup/'+ id,// calling the file  with id

            success: function (data) 
                alert(1);
            
        );
       
</script>

我的路线:

Route::post('amount_popup/id', 'AdminController\AmountController@amount_to_pay');

我的控制器功能:

public function amount_to_pay($id)
       
        echo $id;
    

【问题讨论】:

你不能使用刀片内联代替使用 你遇到了什么错误? 我没有收到任何错误。没有从控制器接收到值 【参考方案1】:

轻松返回值:

public function amount_to_pay($id)
   
    return $id;

【讨论】:

【参考方案2】:

使用

var url = ' route('amount_popup', ['id' => #id]) ';

url = url.replace('#id', id);

而不是

'amount_popup/'+ id

【讨论】:

【参考方案3】:

您正试图从 GET 请求中获取值,但您将表单作为 POST 请求发送。

您应该将脚本代码更改为:

<script>

function amount_pay(id) 
          
            $.ajax(
            type: 'GET', //THIS NEEDS TO BE GET
            url:  'amount_popup/'+ id,// calling the file  with id

            success: function (data) 
                alert(1);
            
        );
       
</script>

然后将您的路线更改为:

Route::get('amount_popup/id', 'AdminController\AmountController@amount_to_pay');

或者如果您想使用 POST... 这样做...

<script>

function amount_pay(id) 
          
            $.ajax(
            type: 'POST',
            url:  'amount_popup',
            data: "id=" + id + "&_token= csrf_token() ", //laravel checks for the CSRF token in post requests

            success: function (data) 
                alert(1);
            
        );
       
</script>

然后你的路线:

Route::post('/amount_popup', 'AdminController\AmountController@amount_to_pay');

然后是你的控制器:

public function amount_to_pay(Request $request)
       
        return $request->input('id');
    

更多信息:

Laravel 5 Routing

【讨论】:

以上是关于如何从 laravel 中的 ajax 调用中获取值的主要内容,如果未能解决你的问题,请参考以下文章

如何从数据库中获取图像并在 laravel 中使用 ajax 以编辑形式预览它?

如何将数据从ajax get方法发送到laravel中的控制器?

如何在 AJAX 调用中获取 JavaScript 变量作为 Laravel 路由名称

如何从控制器获取记录到 Ajax laravel 5.2

在 Laravel 中使用 Ajax/jQuery 从数据库中获取数据

如何减少laravel中的数据大小以进行ajax响应?