【发布时间】: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