我有以下代码从文本文件中根据需要加载随机行:
$.get('txt/messages.txt', function(txt) {
var lines = txt.responseText.split("\n");
var randLineNum = Math.floor(Math.random() * lines.length);
save(lines[randLineNum]); // random line from the text file
});
如何对Angular执行相同操作,将值放入范围值?
答案 0 :(得分:1)
我可以为你提供Pseudocode。但是,访问文件时有一些列表。如果您没有运行任何类型的网络服务器而只是使用file://index.html,
进行测试,那么您可能会遇到同源政策问题。参见:
http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy。
许多浏览器不允许本地托管文件访问其他本地托管文件。 Firefox确实允许它,但前提是你正在加载的文件包含在与html文件(或子文件夹)相同的文件夹中。
另外,请参阅:AngularJS: factory $http.get JSON file了解更多详情。
在您的情况下,您可能希望在工厂中编写代码并获取数据并将其分配给范围变量,或者只是在控制器中编写代码并将值分配给您想要的变量。 / p>
myApp.controller("fileController", function($scope, $http) {
$http.get('txt/messages.txt').success(function(data) {
var lines = txt.responseText.split("\n");
var randLineNum = Math.floor(Math.random() * lines.length);
$scope.varYouWant = randLineNum;
});