0

私は現在、テキストファイルに保存されているテキストにアクセスしてデータ構造に解析する必要があるWebサイトの作成に取り組んでいます。javascript関数またはhtmlタグを使用して、ファイルを解析できるようにインクルードまたは呼び出したいと思います。しかし、私はそれを行うための良い方法を見つけることができないようです。助言がありますか?

より具体的にする方法はわかりませんが、おそらくいくつかの擬似コードが役立つかもしれません。現在のコードは次の行に沿っています。

mylist = new Array();

function myfunc()
{
    var str = [get information from website];
    mylist.push(str);
}

つまり、Webサイトに次のテキストがある場合:

"<tag attr=str attr=str>text</tag>"

mylistの最新(または最後)の要素は次のようになります"<tag attr=str attr=str>text</tag>".

ありがとう!

編集:迅速な対応に感謝します。私はjqueryから離れようとしていました(実際には、サイトにangularを実装しています)が、ライブラリではなくネイティブのjavascriptメソッドを使用しようとしていました。回答から判断すると、1つはありません。ご協力いただきありがとうございます!

4

3 に答える 3

1

XHRオブジェクト、別名「AJAX」メソッドを使用する必要があります。

使用を開始する方法の概要は次のとおりです。

抜粋は次のとおりです。

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-26T00:50:35.543 に答える
0

Ajaxを使用して、JSコードでサーバーからコンテンツをロードします。

[get information from website];データをフェッチする関数に置き換える必要があります。

$ .get()でこのjQueryドキュメントにjQueryを使用することを検討してください

または、AjaxでネイティブJavaScriptajaxMDNドキュメントを使用します

于 2013-01-26T00:48:45.823 に答える
0

jQuery $ .get()を使用できます

$.get('test.txt', function(data) {
  $('.result').html(data);
});

詳細については、 http://api.jquery.com/jQuery.get/を参照してください。

于 2013-01-26T00:50:41.723 に答える