我正在寻找一个非常小的(一个班轮)Ajax JavaScript库来添加一个小脚本的第一行来做一些请求。
我已经尝试过:
> jx
> Microajax
但他们根本不工作。备择方案?
你走了,很简单:
function createXHR()
{
var xhr;
if (window.ActiveXObject)
{
try
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
alert(e.message);
xhr = null;
}
}
else
{
xhr = new XMLHttpRequest();
}
return xhr;
}
文档是here
例:
var xhr = createXHR();
xhr.onreadystatechange = function()
{
if (xhr.readyState === 4)
{
alert(xhr.responseText);
}
}
xhr.open('GET','test.txt',true)
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhr.send()
更新:
为了进行跨域脚本,您需要调用本地服务器端代理(读取和回显远程数据),或者,如果远程服务返回JSON,请使用以下方法:
var s = document.createElement('script')
s.src = 'remotewebservice.json';
document.body.appendChild(s);
由于JSON本质上是一个JavaScript对象或数组,因此这是一个有效的源代码。理论上你应该可以直接调用远程服务。我没有测试过,但似乎是一个公认的做法:
参考:Calling Cross Domain Web Services in AJAX