2013-05-28 48 views
5

Tôi muốn chạy thử nghiệm các giao diện OData từ node.js, sử dụng thư viện data.js. Thật không may, data.js được thiết kế để sử dụng trong các trình duyệt và sử dụng các cuộc gọi XMLHttpRequest. node.js không thể xử lý các cuộc gọi như vậy bởi vì, tôi tin rằng chúng được thực hiện trong trình duyệt, chứ không phải trong JavaScript. Có một mô-đun sẽ cho phép tôi sử dụng data.js trong node.js không?Tôi làm cách nào để sử dụng thư viện gọi xmlhttprequest trong node.js?

Các giải pháp thông thường cho XMLHttpRequest là OK khi bạn có thể gọi chúng trong mã của riêng bạn, nhưng ở đây tôi không muốn thay đổi data.js, vì vậy các tùy chọn đó không mở.

Dưới đây là một mẫu của những gì diễn ra sai:

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); 
} 

Chạy node.js index.js:

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

bạn đã bao giờ làm việc này chưa? Tôi có cùng một vấn đề. –

+0

Tôi không sợ. Tôi chuyển sang các dự án khác và cái này bị bỏ lại bên lề đường. Tốt nhất của may mắn trong nỗ lực của bạn. –

Trả lời

2

Trường hợp ngoại lệ có thể là một kết quả của việc yêu cầu thư viện datajs với một hệ thống tập tin chữ (" ./ ") thay vì như là một node_module (mà sẽ được nhiều hơn dọc theo dòng yêu cầu (" datajs ")). Sau này thường yêu cầu sử dụng của NPM (nó là viết tắt của module nút đóng gói), và bạn sẽ muốn chạy lệnh sau trong thư mục dự án của bạn:

npm install datajs 

các trang tài liệu tham khảo cho thư viện datajs có thể được tìm thấy tại https://npmjs.org/package/datajs. Chúc may mắn!

+0

Cảm ơn Sandile. Tôi đã cho rằng một đi và không may mắn. Đối với một số lý do tôi nhận được một cảnh báo về cài đặt datajs, và sau đó nút nói "Không thể tìm thấy module datajs.js". Cảnh báo là: npm WARN package.json [email protected] Không có trường kho lưu trữ nào. –

1

Có một mô-đun cho điều đó, npm install xmlhttprequest (hoặc tương tự). Mô-đun đó có vấn đề với việc thoát ... Hoặc bạn có thể sử dụng jaydata chỉ hoạt động

+0

Cảm ơn Gabor. Tôi không nghĩ rằng xmlhttprequest sẽ làm việc, như cuộc gọi không phải là trong mã của tôi (nó trong datajs) và tôi không muốn đi chỉnh sửa đó. Sự hiểu biết của tôi là gói xmlhttprequest không bao gồm trường hợp đó? Tôi đang điều tra jaydata ... –

Các vấn đề liên quan