我正在使用laravel和angular.js的组合。对于角度我将interpolateProvider符号更改为< %%>。对于laravel,我使用标准的{{}}符号。
现在在我的视图中使用角度变量并将其传递给laravel中的函数。
我试过了:
{{ route('getEdit', ['id' => <% loop.id %>]) }}
其中loop.id来自角度的ng-repeat。而路由是laravel的路由功能。
这会出错:
语法错误,意外的'&lt;'
答案 0 :(得分:2)
你不能将javascript变量传递给PHP,你需要使用Ajax。
在名为getRoute,post [/get-route/{route}]
<强> PHP 强>
public function getRoute($request, $route) {
return route($route, $request->input('params'));
}
并使用您的路线名和params对象向此路线发出请求:
<强> Jquery的强>
$.post('{{ route('getRoute') }}', {params: [{id : loop.id}]}, function(data) {
console.log(data); //should output the route with javascript variable loop.id
});
或使用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
});