小编典典

小型Ajax JavaScript库

ajax

我正在寻找一个很小的(一个班轮)Ajax JavaScript库来添加一个小的脚本的第一行,以发出一些请求。

我已经尝试过:

但是它们根本不起作用。备择方案?


阅读 365

收藏
2020-07-26

共1个答案

小编典典

这很简单:

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;
}

文档在这里

例:

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对象或数组,因此这是有效的来源。从 理论上讲,
您应该可以直接调用远程服务。我尚未对此进行测试,但这似乎是一种公认​​的做法:

参考:在AJAX中调用跨域Web服务

2020-07-26