我目前正致力于创建一个网站,该网站需要访问存储在文本文件中的文本并将其解析为数据结构。我想使用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(实际上,我正在网站中实现角度),但我试图使用本机javascript方法而不是库。从答复来看,没有一个。谢谢你的帮助!
答案 0 :(得分:1)
您应该使用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);
});
答案 1 :(得分:0)
使用Ajax从您的JS代码中加载服务器中的内容。
您的[get information from website];
应该替换为获取数据的函数。
或使用原生JavaScript ajax MDN docs on Ajax
答案 2 :(得分:0)
您可以使用jQuery $ .get()
$.get('test.txt', function(data) {
$('.result').html(data);
});
有关详细信息,请参阅http://api.jquery.com/jQuery.get/。