Node.js带有ExpressJS错误:无法读取属性';原型&x27;未定义的
正在运行node.js v0.10.2和express v3.1.1(目前最新版本),并出现以下错误:Node.js带有ExpressJS错误:无法读取属性';原型&x27;未定义的,node.js,express,requirejs,Node.js,Express,Requirejs,正在运行node.js v0.10.2和express v3.1.1(目前最新版本),并出现以下错误: /root/dmr-addresses/node_modules/jquery/lib/node-jquery.js:10 window.XMLHttpRequest.prototype.withCredentials = false; ^ TypeError: Cannot read property 'prototype' of undefined
/root/dmr-addresses/node_modules/jquery/lib/node-jquery.js:10
window.XMLHttpRequest.prototype.withCredentials = false;
^
TypeError: Cannot read property 'prototype' of undefined
at create (/root/dmr-addresses/node_modules/jquery/lib/node-jquery.js:10:26)
at /root/dmr-addresses/node_modules/jquery/lib/node-jquery.js:9503:18
at Object.<anonymous> (/root/dmr-addresses/node_modules/jquery/lib/node-jquery.js:9505:2)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/root/dmr-addresses/address/log.js:1:71)
我已经试过运行npm install jquery
,但它没有解决这个问题 节点服务器代码中实际上没有原型对象,它都存储在更好的对象中,您应该使用
你到底想干什么?使用节点运行ajax查询?如果是这样,您应该使用
例如:
require('request').post({
"uri" : "http://example.com/",
"headers" : {
'content-type': 'application/json'
},
"body" : "hello=world"
},
function(e,r,b){
// e = errors, r = response and b = returned body
console.log(b,r.statusCode));
});
这似乎是node jquery所依赖的jsdom模块的问题。这似乎是一个已知的问题,它已被修复,但尚未发布到npm 检查它:检查这个: 这里也有同样的错误。。。 我不知道我在做什么,但我更改了第四行和第五行的节点-jquery.js,它开始工作:) 旧的: 新的:
这是在Windows还是Linux上?你有npm安装的日志吗?看起来XMLHttpRequest不是Windows的成员。我不确定jQuery是否添加了。Linux,log:我之所以问这个问题,是因为jQuery的npm安装在Windows上有问题。您确定window.XMLHttpRequest是jQuery的一部分吗?我不是很精通,但是我不记得了。我不确定,我在升级到node的最新版本后开始出现这个错误。我也尝试了这个问题的答案,但还没有找到任何运气@阿莫姆库尔卡尼:我想你是对的,我现在不能做这件事,但一旦我能做到,我会听从你的建议,谢谢。
require('request').post({
"uri" : "http://example.com/",
"headers" : {
'content-type': 'application/json'
},
"body" : "hello=world"
},
function(e,r,b){
// e = errors, r = response and b = returned body
console.log(b,r.statusCode));
});
if(window == null ) {
window = require('jsdom').jsdom().createWindow();
if(!window || !window.document) {
window = require('jsdom').createWindow();
window.document = require('jsdom').jsdom();