[英]How to download a text file and store as a string in jQuery
我有一组文本文件,它们代表我想使用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);
给我myData
一个undefined
值。 任何建议,将不胜感激。
为了使该代码正常工作,事件需要是同步的,换句话说,在$ .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会更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.