2013-05-28 9 views
5

data.jsライブラリを使用して、node.jsからODataインターフェイスのテストを実行したいと考えています。残念ながら、data.jsはブラウザでの使用を想定しており、XMLHttpRequest呼び出しを使用します。 node.jsはそのような呼び出しを処理できません。なぜなら、JavaScriptではなく、ブラウザに実装されているからです。 node.jsでdata.jsを使用できるようにするモジュールはありますか?node.jsのxmlhttprequestを呼び出すライブラリを使用するにはどうすればよいですか?

XMLHttpRequestの通常のソリューションは、自分のコードで呼び出せればOKですが、ここではdata.jsを変更したくないので、これらのオプションは開いていません。ここで

がうまくいかないもののサンプルです:

var odata = require("./datajs-1.1.0.js"); 
try{ 
    odata.OData.read( 
     "http://services.odata.org/Northwind/Northwind.svc/Categories" 
    ); 
} 
catch(err){ 
    console.log ("Exception in index.js - " + err.name + ": " + err.message); 
} 

node.js index.jsの実行:

Exception in index.js - undefined: XMLHttpRequest not supported 
+0

これまでにこの作業ができましたか?私は同じ問題があります。 –

+0

私は恐れていません。私は他のプロジェクトに移りましたが、これは道路の横に残されていました。あなたの努力の中で最高の運があります。 –

答えて

2

例外は、「(ファイルシステムでdatajsライブラリがリテラル必要との結果である可能性があり./ ")の代わりにnode_module(これはもっとrequire(" datajs ")の行に沿っています)。後者は通常、NPMの使用を(それがノードパッケージモジュールの略)が必要で、あなたのプロジェクトディレクトリで次のコマンドを実行するとよいでしょう:

​​

datajsライブラリのリファレンス・ページがhttps://npmjs.org/package/datajsで見つけることができます。 幸運!

+0

ありがとうサンダル。私はそれを行って運がないことを与えました。何らかの理由でdatajsのインストールに関する警告が表示され、ノードに「モジュールdatajs.jsが見つかりません」と表示されます。警告は次のとおりです。npm WARN package.json [email protected]リポジトリフィールドはありません。 –

1

npm install xmlhttprequest(またはそれに類するもの)用のモジュールがあります。そのモジュールにはエスケープに関する問題があります...または、動作するjaydataを使用することができます

+0

ガボールありがとうございます。私はxmlhttprequestが動作するとは思わないが、呼び出しが自分のコードにない(datajsにある)ので、編集したくないと思う。私の理解は、xmlhttprequestパッケージはそのケースをカバーしていないということですか?私はjaydataを調査しています... –

関連する問題