当前位置: 首页 > 面试题库 >

如何下载文本文件并以字符串形式存储在jQuery中

储仲渊
2023-03-14
问题内容

我有一组文本文件,它们代表我想使用JavaScript应用程序下载的来自第三方的数据表。他们看起来像这样:

col1 col2 .. coln
vala valb .. valz
valA valB .. valZ
etc..

我一直在尝试使用jQuery来做到这一点。我已经可以使用$
.load,但是我不想将数据存储在DOM中,而是想将其解析为一个对象。每当我尝试使用一种ajaxy方法时,都会收到我不理解的错误。例如:

var myData;
$.ajax({
    type: 'GET',
    url: $(this).attr('source'),
    dataType: 'html',
    success: function(data) {
        myData = data;
    }
});
alert(myData);

给我一个undefined价值myData。任何建议,将不胜感激。


问题答案:

为了使该代码正常工作,事件需要是同步的,换句话说,在$
.ajax调用中设置async:false。出现问题是因为ajax通常是异步的,这意味着当您执行警报时,请求可能会或可能不会完成。不过,通常情况下,它不会比执行函数调用花费更长的时间来获取页面。因此,通过设置async:false,您可以告诉jquery(和ajax处理程序)等待页面加载完成,然后再尝试警告数据。实现相同效果的另一种方法是执行以下操作:

var myData;
function fin(data) {
    myData = data;
    alert(myData);
}
$.ajax({
    type: 'GET',
    url: $(this).attr('source'),
    dataType: 'html',
    success: fin
});

这种方法可能比将async设置为false更好,因为它不会在等待页面加载时使浏览器挂起。但是,异步编程并不是容易学习的东西,因此许多人会发现使用async:false会更容易。



 类似资料:
  • 问题内容: 我们如何从文本文件读取数据并将其存储在String变量中? 是否有可能在方法中传递文件名,并且它将返回字符串,即文件中的文本。 我必须导入哪种工具?声明列表会很棒。 问题答案: 这些是必需的进口: 这是一种方法,通过将文件名作为参数传递给它,您可以从文件中进行读取,如下所示:

  • 主要内容:读字符串函数 fgets,写字符串函数 fputsfgetc() 和 fputc() 函数每次只能读写一个字符,速度较慢;实际开发中往往是每次读写一个字符串或者一个数据块,这样能明显提高效率。 读字符串函数 fgets fgets() 函数用来从指定的文件中读取一个字符串,并保存到字符数组中,它的用法为: str 为字符数组,n 为要读取的字符数目,fp 为文件 指针。 返回值:读取成功时返回字符数组首地址,也即 str;读取失败时返回 NULL

  • 问题内容: 应用程序通过AJAX从服务器请求KML数据。此数据存储在javascript变量中,并显示在Google Earth插件中。 在javascript中,如何提供链接以下载存储在javascript变量中(作为字符串)的KML数据,而无需将请求返回服务器? 此链接:http : //forum.mootools.net/viewtopic.php?id=9728 建议使用数据URI,但这

  • 当我使用不同的编译器编译这段代码并在十六进制编辑器中检查输出时,我希望在某个地方找到字符串“南希”。 > 输出为,我看不到找到"Nancy"任何地方。 在visual studio(MSVC 1929)中编译相同的代码时,我在十六进制编辑器中看到了完整的字符串: 为什么我在(1)中的字符串中间得到一些随机字节?

  • 我有一个名为的文件,它看起来像这样: 我想把那个文件作为字符串数组读入。这实际上在一个包中起作用: 我已经检查了每个导入,每个导入都被导入文件以外的其他东西使用。 在另一个包中,它忽略字符串插值: 在控制台中生成此输出: 唯一提到该文件的是 但是,将其复制到

  • 每当我在这个集合中保存一些数据时,我就声明了一个类LoanDetails和一个包含BigDecimal类型loanAmount的字段 它以字符串形式存储在mongo db数据库中 我试图在loanAmount字段上添加注释