编辑:也许我提出的问题比应该更复杂。我的问题是:如何从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上运行时,我得到了一个
Firebug上的访问受限制的URI被拒绝“代码:”1012
错误。我搜索的东西表明这是一个特定于FF的问题所以我切换到了Chrome。在那里,第二个警报出现,但显示0作为HTTP状态代码,我发现这很奇怪。
有人能发现问题所在吗?人们说这个东西比JQuery更容易使用,但是在JS语法之上学习 现在有点太多了。
答案 0 :(得分:3)
出于安全原因,您无法使用AJAX从其他域请求文件。
由于您的Javascript未在http://api.twitter.com
上运行,因此无法从http://api.twitter.com
请求文件。
相反,您可以在域上编写服务器端代码以向您发送文件。