2013-05-28 29 views
5

我想使用data.js庫從node.js運行OData接口的測試。不幸的是,data.js旨在用於瀏覽器並使用XMLHttpRequest調用。 node.js無法處理這種調用,因爲我相信它們是在瀏覽器中實現的,而不是在JavaScript中實現的。有沒有一個模塊可以讓我在node.js中使用data.js?如何使用一個在node.js中調用xmlhttprequest的庫?

當您可以在自己的代碼中調用它們時,XMLHttpRequest的常用解決方案是可以的,但是在這裏我不想更改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

謝謝Sandile。我已經放棄了,沒有運氣。出於某種原因,我在安裝datajs時收到警告,然後節點顯示「無法找到模塊datajs.js」。警告是:npm WARN package.json [email protected]沒有存儲庫字段。 –

1

有一個模塊,npm install xmlhttprequest(或類似的)。該模塊有轉義的問題...或者你可以使用剛剛工作的jaydata

+0

謝謝Gabor。我不認爲xmlhttprequest會起作用,因爲調用不在我的代碼中(它在datajs中),我寧願不去編輯它。我的理解是,xmlhttprequest包不包括這種情況?我正在調查jaydata ... –

相關問題