`window.XMLHttpRequest`未定义

时间:2012-07-16 13:03:06

标签: jquery node.js window xmlhttprequest

我正在尝试修复javascript window - 元素问题。 我已经做过经典了:

  • npm install jQuery
  • npm update

然后,在第1行的'server.js'文件中

var $ = require('jQuery');

在我的Ubuntu上,这段代码运行良好,没有问题,应用程序继续运行。在Windows 7上有一个我无法抗拒的怪物 在我的cmd上写node server.js(使用管理员权限),我看到了这个消息:

enter image description here

我无法理解这一点:window.XMLHttpRequest is undefined。我是一个好奇的人,所以我发现window.XMLHttpRequest在哪里被初始化以及谁/什么对此有用:

http://github.com/coolaj86/node-jquery/blob/master/lib/node-jquery.js的第8行。

window.XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

为什么不做它的工作?
https://github.com/driverdan/node-XMLHttpRequest/blob/master/lib/XMLHttpRequest.js这里是xmlhttprequest代码。

3 个答案:

答案 0 :(得分:1)

解决方案:
- 安装python从2.5.0到3.0.0版本(免费)
- 安装Visual Express 2010或更高版本(免费)

答案 1 :(得分:0)

您需要使用npm:

安装xmlhttprequest模块
    npm install xmlhttprequest

但通常情况下,它只是一个浏览器对象,您应该在服务器上使用它: http://nodejs.org/docs/latest/api/http.html

答案 2 :(得分:0)

您需要手动修补node_module/jquery/lib/node-jquery.js文件!

更改这些线(第4和第5行) 从:

if(window == null ) {
    window = require('jsdom').jsdom().createWindow();
    ...

为:

if (!window || !window.document) {
    window = require('jsdom').createWindow();
    window.document = require('jsdom').jsdom();
    ...