【问题标题】:Laravel - Use blade in Jquery with Ajax to get dataLaravel - 在 Jquery 中使用刀片和 Ajax 来获取数据
【发布时间】:2020-11-16 15:50:25
【问题描述】:

我正在尝试为数据库中的许多“请求”构建一个“查看详细信息”页面,带有自定义进度条,可以通过调用RequestListController@show 访问。我在 MySQL 中存储每个“请求”的进度。我想通过 Ajax 获取基于 id 的请求进度,以便每次用户打开“查看详细信息”页面时都可以使用 Jquery 更新进度条。但这不起作用,我用alert() 测试它是否有效,什么都不会发生。如果我删除{{ $catRequest-id }},我会收到警报。这是否意味着我不能在 javascript 的 url 中使用刀片?如果是这样,有没有更好的方法来获取数据库中的数据?

<script>
    $(document).ready(function () {
        $.ajax({
            url: "/ajax-get-progress/{{ $catRequest->id }}",
            type: "get",
            dataType: "json",
            success: function (response) {
                alert(response["progress"]);
            },
        });
    });
</script>
Route::get('/ajax-get-progress/{$catRequest->id}', 'AjaxController@getProgress'); // ajax gets progress by id

Route::get('/request-list/show/requestID/{requestID}', 'RequestListController@show');

public function getProgress($requestID)
{
    $progress = CatRequest::where('id', $requestID)->first();
    $userData['progress'] = $progress;
    echo json_encode($userData);
    exit;
}

【问题讨论】:

  • 如果脚本在刀片文件中,那么您可以使用它
  • 我认为最好的方法是使用 Promise,在每次请求后更新您的进度
  • @KhaldounNd 该脚本在 .blade.php 表中,但它显示参数requestID 没有响应,一旦我删除它,它就可以工作。我使用正确吗?

标签: javascript php jquery ajax laravel


【解决方案1】:

stackoverflow 上有很多解决方案。这应该可以解决问题:

https://stackoverflow.com/a/58179530/7807619

【讨论】:

    【解决方案2】:
    Route::get('/ajax-get-progress/{requestID}', 'AjaxController@getProgress'); // ajax gets progress by id
    
    public function getProgress($requestID)
        {
            $progress = CatRequest::where('id', 1)->first()->progress;
            $userData['progress'] = $requestID;
            echo json_encode($userData);
            exit;
        }
    
    <script>
            $(document).ready(function(){
                $.ajax({
                            url: "/ajax-get-progress/{{ $catRequest->id }}",
                            type: "get",
                            dataType: "json",
                            success: function(response) {
                                alert(response['progress']);
                            }
                        });
            });
        </script>
    

    【讨论】:

      猜你喜欢
      • 2018-05-16
      • 2021-05-10
      • 2019-11-05
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多