TypeError:在流星服务器端使用web3时,XMLHttpRequest不是一个函数

时间:2017-05-23 11:06:10

标签: meteor server-side ethereum web3js

当我尝试与流星应用程序的服务器端的合同进行交互时,我收到错误TypeError: XMLHttpRequest is not a function

web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))

var cocontract = web3.eth.contract(abi).at(address);
var name = (cocontract.name())

第3行引发错误。如果我在客户端运行相同的代码,我就不会遇到问题。

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。相反ethereum:web3 Meteor包我使用了web3@0.20.1 NPM包,它运行正常(Meteor版本1.5.1)。 因此,如果您使用ethereum:web3,则可能需要运行:

meteor remove ethereum:web3
meteor npm install web3@0.20.1 --save

并替换

import { Web3 } from 'meteor/ethereum:web3';

import Web3 from 'web3';

答案 1 :(得分:0)

我没有使用过web3,但我怀疑它正在利用仅在浏览器中出现的XMLHttpRequest。尝试在服务器上获取模拟信息。我从这个开始: xmlhttprequest