我目前正在创建一个网站,需要访问文本文件中存储的文本,并将其解析为数据结构。我想使用javascript函数或html标签来包含或调用该文件,以便能够对其进行解析。然而,我似乎找不到一个好的方法来做这件事。有什么建议吗?
我不确定如何更具体,但也许一些伪代码可能会有所帮助。当前的代码应该是这样的:
mylist = new Array();
function myfunc()
{
var str = [get information from website];
mylist.push(str);
}
也就是说,如果网站包含以下文本:
"<tag attr=str attr=str>text</tag>"
mylist的最新(或最后一个)元素将是"<tag attr=str attr=str>text</tag>".
谢谢!
编辑:感谢您的快速响应。我试图避开jquery (实际上,我在站点中实现了angular ),但我尝试使用原生javascript方法,而不是库。从回应来看,没有一个。谢谢你的帮忙!
发布于 2013-01-26 08:50:36
你应该使用XHR Object,也就是"AJAX“方法。
关于如何开始使用它的Here's an overview。
以下是摘录:
function makeRequest(url, callback) {
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
}
//i'd omit this if I don't support older browsers
else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!httpRequest) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = function () {
if (httpRequest.readyState === 4 && httpRequest.status === 200) {
callback(httpRequest.responseText);
} else {
alert('There was a problem with the request.');
}
}
httpRequest.open('GET', url);
httpRequest.send();
}
//using
makeRequest('path/to/your/file', function (contents) {
myList.push(contents);
});
发布于 2013-01-26 08:48:46
使用Ajax在您的JS代码中从服务器加载内容。
您的[get information from website];
应该替换为获取数据的函数。
考虑对此jQuery Docs on $.get()使用jQuery
或者使用原生JavaScript ajax MDN docs on Ajax。
发布于 2013-01-26 08:50:42
您可以使用jQuery $.get()
$.get('test.txt', function(data) {
$('.result').html(data);
});
有关更多详细信息,请参阅http://api.jquery.com/jQuery.get/。
https://stackoverflow.com/questions/14532557
复制相似问题