如何从 JavaScript 传递数据以在 Laravel 中执行数学运算
Posted
技术标签:
【中文标题】如何从 JavaScript 传递数据以在 Laravel 中执行数学运算【英文标题】:How to pass data from JavaScript to perform math in Laravel 【发布时间】:2020-04-12 18:53:17 【问题描述】:我有一个有效的 javascript 代码,可以在一个范围内每秒生成随机数。我想使用 laravel 从数据库中提取数据以获得最大值和最小值。我该如何实现? 这是代码,
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body ng-app="myApp">
<div ng-controller="MyRngCtrl">
rngESUS
</div>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.controller('MyRngCtrl', function($scope, $timeout)
$scope.rngESUS = 0;
(function update()
$timeout(update, 1000 * 1);
max=5000;//max price
min=4500;//min price
$scope.rngESUS = Math.floor((Math.random() * (max - min)) + min);
());
);
</script>
【问题讨论】:
你目前如何渲染这个视图? 可以尝试在 Javascript 中运行查询吗? 搜索“Laravel AJAX”或“Laravel API”。听起来您需要创建一个 Laravel 路由来返回您的最小值和最大值,然后从您的前端请求该路由。 【参考方案1】:使用 $http 服务向服务器发出请求:
app.controller('MyRngCtrl', function($scope, $timeout, $http)
$scope.rngESUS = 0;
(function update()
$timeout(update, 1000 * 1);
var max=5000;//max price
var min=4500;//min price
$scope.rngESUS = Math.floor((Math.random() * (max - min)) + min);
//MAKE request
var config = params: rngESUS: $scope.rngESUS ;
$http.get(url, config)
.then(function(response)
var data = response.data;
console.log(data);
).catch(function(response)
console.log("ERROR", response);
);
());
);
有关详细信息,请参阅
AngularJS $http Service API Reference【讨论】:
【参考方案2】:<script type="text/javascript">
var data = "$name"; // name is php variable
console.log(data);
var dataArr = "json_encode($data_array)"; // data_array is php array
console.log(dataArr);
</script>
【讨论】:
以上是关于如何从 JavaScript 传递数据以在 Laravel 中执行数学运算的主要内容,如果未能解决你的问题,请参考以下文章
如何从视图控制器发送数据以在 swift 5 中嵌入视图控制器?
我如何传递从另一个模型获取的角色数组以在 laravel 中注册表单