【问题标题】:Why is XMLHttpRequest not working?为什么 XMLHttpRequest 不起作用?
【发布时间】:2017-08-01 02:30:16
【问题描述】:

我尝试使用 npm 安装 XMLHttpRequest 并附上此代码 sn-p 以使其工作:

var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var myRequest = new XMLHttpRequest();

当我调试它时,它(谷歌浏览器的控制台)说“Uncaught ReferenceError: require is not defined”

:(请帮忙!

更新: 当我简单地写下这段代码时:

var myRequest = new XMLHttpRequest();

它没有用,然后我研究了它,发现安装我上面提到的这个 npm 包是可行的。通过这样做,错误(上面提到的)弹出。所以说 XMLHttpRequest 的任何一个代码都不起作用。

【问题讨论】:

  • Node.js 不是(并且与)浏览器 JavaScript 无关。
  • 要么不要使用require(),要么使用捆绑器。
  • @SLaks 仅供参考,这是一个用于 node js 的 npm 包npmjs.com/package/xmlhttprequest
  • Require 不是 js 的一部分
  • 你必须通过 node js 运行它。直接在chrome中运行是行不通的

标签: javascript node.js


【解决方案1】:

如果你想在谷歌浏览器中使用 XMLHttpRequest:那就用它吧。它是built into the browser。您收到错误是因为require is a Node.js feature

如果您想在 Node.js 中使用 XMLHttpRequest:那么您需要使用 Node.js 运行您的脚本(requires),而不是通过加载到 Google Chrome 中的网页。

要在 Node.js 中运行它,请输入命令:

node filename.js

【讨论】:

  • 但我想在我的 app.js 部分使用它来编写一些代码。
  • @ShoaibSivany — 为什么是“但是”?就这样做吧。 (根据 app.js 是在 node.js 还是 Chrome 下运行,遵循上面的注释)
  • 我想我没听懂你。你是在告诉我在我的节点应用程序控制台中写这个吗?我做了,但有一个错误。顺便说一句,我是 nodejs exe 的新手。
  • “你是在告诉我在我的节点应用程序控制台中写这个?” — 不。你提到了app.js。您使用 Node.js 或 Chrome 运行它。没有足够的信息来判断是哪个。判断是哪一个,然后在app.js中按照这个答案前两行的说明写代码。
  • “我做了,但是出错了”——一个错误太模糊了,没有用。当您提出问题时,您需要minimal reproducible example明确的问题陈述。您应该引用错误消息。
猜你喜欢
  • 1970-01-01
  • 2015-11-06
  • 1970-01-01
  • 2013-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
相关资源
最近更新 更多