javascript - 从文本文件中获取随机行

标签 javascript angularjs

我有以下代码来根据需要从文本文件加载随机行:

$.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 做同样的事情,将值放入范围值中?

最佳答案

我可以为您提供伪代码。但是,访问文件时会列出一系列内容。如果您没有运行任何类型的网络服务器,而只是使用 file://index.html 进行测试, 那么您可能会遇到相同的情况 -原产地政策问题。请参阅:

http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy

许多浏览器不允许本地托管文件访问其他本地托管文件。 Firefox 确实允许这样做,但前提是您正在加载的文件与 html 文件位于同一文件夹(或子文件夹)中。

另请参阅:AngularJS: factory $http.get JSON file更多细节。

在您的情况下,您可能想要在工厂中编写代码并获取返回的数据并将其分配给范围变量,或者只是在 Controller 中编写代码并将值分配给您想要的变量。

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;
});

关于javascript - 从文本文件中获取随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35556320/

相关文章:

javascript - AngularJS 中的刷新 Controller

javascript - 从函数中获取数据

javascript - 日期输入的 min 属性的实时绑定(bind)

javascript - 印度格式的 Angular 货币过滤器

javascript - AngularJS contenteditable blur on Enter

javascript - nodejs - util.inspect 对 showHidden 的说明

javascript - jQuery/AJAX 更改我的变量

javascript - 如何减去两倍力矩js?

javascript - 循环浏览导航栏的列表项并使用 jQuery 的 fadeIn() 动画使它们淡入

javascript - 为什么我的上下文没有被共享?