进行简单的JS XmlHttpRequest调用时出现问题

时间:2010-04-19 21:44:09

标签: javascript rest xmlhttprequest

编辑:也许我提出的问题比应该更复杂。我的问题是:如何从JS向服务器进行API调用。

我必须创建一个非常简单的客户端,它对我们的服务器进行GET和POST调用并解析返回的XML。我用JavaScript编写这个,问题是我不知道如何用JS编程(今天早上开始调查这个)!

作为n初始测试,我正在尝试ping到Twitter API,这是当用户输入URL http://api.twitter.com/1/users/lookup.xml并点击提交按钮时调用的函数:

function doRequest() {
    var req_url, req_type, body;
    req_url = document.getElementById('server_url').value;
    req_type = document.getElementById('request_type').value;   
    alert("Connecting to url: " + req_url + " with HTTP method: " + req_type);
    req = new XMLHttpRequest();
    req.open(req_type, req_url, false, "username", "passwd");// synchronous conn
    req.onreadystatechange=function() {
            if (req.readyState == 4) {
                    alert(req.status);
            }
    }
    req.send(null);
}

当我在FF上运行时,我得到了一个

  

访问受限制的URI被拒绝“代码:”1012

Firebug上的

错误。我搜索的东西表明这是一个特定于FF的问题所以我切换到了Chrome。在那里,第二个警报出现,但显示0作为HTTP状态代码,我发现这很奇怪。

有人能发现问题所在吗?人们说这个东西比JQuery更容易使用,但是在JS语法之上学习 现在有点太多了。

1 个答案:

答案 0 :(得分:3)

出于安全原因,您无法使用AJAX从其他域请求文件。

由于您的Javascript未在http://api.twitter.com上运行,因此无法从http://api.twitter.com请求文件。

相反,您可以在域上编写服务器端代码以向您发送文件。