1

我在 Cloud9 IDE 中定义了一个XMLHttpRequest这样的:

var xhr = new XMLHttpRequest();

但它提示了一个错误,说ReferenceError: XMLHttpRequest is not defined

XMLHttpRequest在 Cloud9 IDE 中定义的吗?

谢谢!

4

2 回答 2

3

如果您通过“调试”按钮运行您的 javascript 文件,那么它将在node.js中执行,该文件不包含XMLHttpRequest(因为它是浏览器功能)。

如果您正在开发的文件是客户端文件,请通过“预览”按钮打开引用 js 文件的 HTML 页面。

否则,您可以使用模仿浏览器行为的node-XMLHttpRequest或request,这是对 nodejs 的其他服务进行请求的分解标准。

于 2012-03-12T18:52:19.280 回答
0

我知道这是不久前被问到的,但如果有人遇到同样的问题,这里是如何解决它。

在尝试使用它创建对象之前,您需要先在函数中定义 XMLHttpRequest。

这是一个例子:

//Define your method reference 
function createXMLHttpRequest() 
   {
    try 
    { 
      return new XMLHttpRequest();
       } catch(e) {}
    try 
    { 
   return new ActiveXObject("Msxml2.XMLHTTP"); 
   } catch (e) {}
    alert("Sorry, the XMLHttpRequest is not supported");
    return null;
    }

//现在您可以开始使用定义的 createXMLHttpRequest() 创建对象

var xhr = new XMLHttpRequest();

function oHttp_readyStateChange() 
{
if (oHttp.readyState == 4) 
{
if (oHttp.status == 200) 
{
  alert(oHttp.responseText); 
}
else {
  alert("The server returned a status code of " + oHttp.status);
}
}
}
oHttp.open("GET", "http://myWebsite/Myfile.sql", true);

oHttp.onreadystatechange = oHttp_readyStateChange;

oHttp.send(null);
于 2013-10-29T19:06:09.557 回答