将文件行存储到数组的jQuery
我有两个.txt文件,我正试图从中创建组合。我试着把每个文件都转换成一个数组,因为每个单词都由一个换行符分隔。问题是,当我运行将文件行存储到数组的jQuery,jquery,arrays,Jquery,Arrays,我有两个.txt文件,我正试图从中创建组合。我试着把每个文件都转换成一个数组,因为每个单词都由一个换行符分隔。问题是,当我运行$.get时,它不会将任何信息保存到数组中。这是我的密码: <html> <head> <title>Email Validator</title> <script src="https://code.jquery.com/jquery-3.2.1.min.js"><
$.get
时,它不会将任何信息保存到数组中。这是我的密码:
<html>
<head>
<title>Email Validator</title>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
</head>
<body>
<span id="runtime"></span>
<table class="results">
<tr>
<td>First Name</td>
<td>Last Name</td>
</tr>
</table>
<script>
//pull firstnames and store to array
var firstnames = new Array();
$.get('first.txt', function(data){
firstnames = data.split("\n");
});
//pull lastnames and store to array
var lastnames = new Array();
$.get('last.txt', function(data){
lastnames = data.split("\n");
});
var fn, ln;
//firstnames
$.each(firstnames , function(findex, fvalue) {
fn = fvalue;
//lastnames
$.each(lastnames , function(lindex, lvalue) {
ln = lvalue;
$("table.results").appendTo("<tr><td>" + fn + "</td><td>" + ln + "</td></tr>");
});
});
</script>
</body>
</html>
电子邮件验证程序
名字
姓
//提取名字并存储到数组中
var firstnames=新数组();
$.get('first.txt',函数(数据){
firstnames=data.split(“\n”);
});
//将lastnames和store拉入数组
var lastnames=新数组();
$.get('last.txt',函数(数据){
lastnames=data.split(“\n”);
});
var-fn,ln;
//名字
$.each(名字、函数(findex、fvalue){
fn=fv值;
//姓氏
$.each(姓氏、函数(lindex、左值){
ln=左值;
$(“table.results”).appendTo(“+fn+”+ln+”);
});
});
$.get()是一个AJAX调用,这意味着它是异步的。每当$.get完成时,data.split()行就会出现,而不一定在所拥有的每个块$.get之前
由于需要进行两次异步调用,因此可以尝试嵌入:
//pull firstnames and store to array
var firstnames = new Array();
var lastnames = new Array();
$.get('first.txt', function(data){
firstnames = data.split("\n");
//pull lastnames and store to array
$.get('last.txt', function(data){
lastnames = data.split("\n");
// Process your two arrays here
});
});
您的代码存在一些问题。 当您希望依赖多个ajax调用的结果时,可以使用
$。其中一种方法可以是:
$.when(first, last).then(successCallBackFn, failureCallBackFn);
第一个
和最后一个
来自哪里?嗯,它们可能是调用$的结果。如下所示:
var first = $.get('first.txt', function(data){
firstnames = data.split("\n");
});
$.when(first, last).then(successCallBackFn, failureCallBackFn);
function successCallBackFn(firstNames, lastNames) {
var fn, ln;
//firstnames
$.each(firstnames, function (findex, fvalue) {
fn = fvalue;
//lastnames
$.each(lastnames, function (lindex, lvalue) {
ln = lvalue;
$("table.results").append("<tr><td>" + fn + "</td><td>" + ln + "</td></tr>");
});
});
}
function failureCallBackFn() {
console.log('failed');
}
类似地,last
var last = $.get('last.txt', function(data){
lastnames = data.split("\n");
});
最后,在如下情况下使用$:
var first = $.get('first.txt', function(data){
firstnames = data.split("\n");
});
$.when(first, last).then(successCallBackFn, failureCallBackFn);
function successCallBackFn(firstNames, lastNames) {
var fn, ln;
//firstnames
$.each(firstnames, function (findex, fvalue) {
fn = fvalue;
//lastnames
$.each(lastnames, function (lindex, lvalue) {
ln = lvalue;
$("table.results").append("<tr><td>" + fn + "</td><td>" + ln + "</td></tr>");
});
});
}
function failureCallBackFn() {
console.log('failed');
}
$.when(第一个、最后一个)。然后(successCallBackFn、failureCallBackFn);
函数successCallBackFn(名字、姓氏){
var-fn,ln;
//名字
$.each(名字、函数(findex、fvalue){
fn=fv值;
//姓氏
$.each(姓氏、函数(lindex、左值){
ln=左值;
$(“table.results”).append(“+fn+”+ln+”);
});
});
}
函数failureCallBackFn(){
console.log('failed');
}
还有。请注意,您需要在$(“table.results”)行中使用append
而不是appendTo
。append