如何在 blade 模板中将 angular 变量用于 laravel 函数?
How to use angular variables into laravel functions in a blade template?
我正在使用 laravel 和 angular.js 的组合。对于 angular,我将 interpolateProvider 符号更改为 <% %>。对于 laravel,我使用标准的 {{ }} 符号。
现在在我的视图中使用 angular 变量并将其传递给 laravel 中的函数。
我试过这个:
{{ route('getEdit', ['id' => <% loop.id %>]) }}
其中 loop.id 来自 angular 的 ng-repeat。而route是来自laravel的路由函数。
这给出了一个错误:
语法错误,意外的'<'
您不能将 javascript 变量传递给 PHP,您需要使用 Ajax.
在名为 getRoute 的控制器中创建一个操作,post [/get-route/{route}]
PHP
public function getRoute($request, $route) {
return route($route, $request->input('params'));
}
并使用您的路由名称和参数对象向该路由发出请求:
Jquery
$.post('{{ route('getRoute') }}', {params: [{id : loop.id}]}, function(data) {
console.log(data); //should output the route with javascript variable loop.id
});
或使用 angular :
Angular
<script>
var getRoute = '{{ route('getRoute') }}'; //Define your route inside a PHP file
</script>
$http.post(getRoute, {params: [{id : loop.id}]}).then(function(data) {
console.log(data); //should output the route with javascript variable loop.id
});
我正在使用 laravel 和 angular.js 的组合。对于 angular,我将 interpolateProvider 符号更改为 <% %>。对于 laravel,我使用标准的 {{ }} 符号。
现在在我的视图中使用 angular 变量并将其传递给 laravel 中的函数。
我试过这个:
{{ route('getEdit', ['id' => <% loop.id %>]) }}
其中 loop.id 来自 angular 的 ng-repeat。而route是来自laravel的路由函数。
这给出了一个错误:
语法错误,意外的'<'
您不能将 javascript 变量传递给 PHP,您需要使用 Ajax.
在名为 getRoute 的控制器中创建一个操作,post [/get-route/{route}]
PHP
public function getRoute($request, $route) {
return route($route, $request->input('params'));
}
并使用您的路由名称和参数对象向该路由发出请求:
Jquery
$.post('{{ route('getRoute') }}', {params: [{id : loop.id}]}, function(data) {
console.log(data); //should output the route with javascript variable loop.id
});
或使用 angular :
Angular
<script>
var getRoute = '{{ route('getRoute') }}'; //Define your route inside a PHP file
</script>
$http.post(getRoute, {params: [{id : loop.id}]}).then(function(data) {
console.log(data); //should output the route with javascript variable loop.id
});