Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Laravel PHP数据到AngularJS脚本文件-无Ajax_Javascript_Php_Angularjs_Laravel 5 - Fatal编程技术网

Javascript Laravel PHP数据到AngularJS脚本文件-无Ajax

Javascript Laravel PHP数据到AngularJS脚本文件-无Ajax,javascript,php,angularjs,laravel-5,Javascript,Php,Angularjs,Laravel 5,我正在尝试做一些我认为很简单的事情,但似乎无法得到一个好的答案 我有一个Laravel应用程序,需要向运行AngularJS的客户端发送数据 例如,Laravel代码: public function home() { $data = $this->user->getUserParams(); return view('content.auth.home')->with('data', $data); } 很简单。然后,如果我想ng repeat数据,我会使用PHPecho

我正在尝试做一些我认为很简单的事情,但似乎无法得到一个好的答案

我有一个Laravel应用程序,需要向运行AngularJS的客户端发送数据

例如,Laravel代码:

public function home()
{
$data = $this->user->getUserParams();
return view('content.auth.home')->with('data', $data);
} 
很简单。然后,如果我想
ng repeat
数据,我会使用PHP
echo
或刀片模板将PHP函数中的数据放在AngularJS的范围内,并对其进行迭代

我的问题是我不希望我的角度脚本在刀片模板的
标记之间提供。我需要从外部
.js
文件提供服务


那么,将PHP数据传递到外部
.js
脚本的最佳实践是什么?我不想为数据加载页面,然后加载
$http
,因为这比在页面渲染时加载要慢得多。我也不希望在外部AngualaRJ应该拾取的
标记之间有一个全局变量。没有办法操纵Laravel的路由系统来提供一个包含PHP的
.js
文件吗?

“我不想为数据加载页面,然后加载$http,因为那样会慢很多”,你确定吗?我觉得这是一个错误的前提。虽然可以让PHP生成和提供JS文件,但我不推荐它。这会有点奇怪,但您可以在控制器操作中设置内容类型标题,以将刀片文件作为javascript提供。最佳做法是将PHP和JS完全分离。@jfadich加载页面,然后对第一次(加载页面时)可能获得的数据运行ajax请求,这真的是最佳做法吗?如果是这样的话,我会这样做,我只是惊讶地发现它就是这样工作的。为静态JS文件提供服务总是比为PHP生成的动态JS文件提供服务更快。静态JS文件可以完全绕过PHP并被缓存。如果您想为JS文件提供预加载的数据,您必须防止缓存并花费额外的开销生成文件。而是提供一个静态APP JS文件并单独加载数据。你说你不想要的第二个最好的选择(在标签中打印数据)