小编典典

JavaScript 中的 HTTP GET 请求?

all

我需要在 JavaScript中执行HTTP
GET请求。
最好的方法是什么?

我需要在 Mac OS X dashcode 小部件中执行此操作。


阅读 122

收藏
2022-02-28

共1个答案

小编典典

浏览器(和 Dashcode)提供了一个 XMLHttpRequest 对象,可用于从 JavaScript 发出 HTTP 请求:

function httpGet(theUrl)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

但是,不鼓励同步请求,并且会生成如下警告:

注意:从 Gecko 30.0(Firefox 30.0 / Thunderbird 30.0 / SeaMonkey
2.27)开始,由于对用户体验的负面影响, 主线程上的同步请求已被弃用。

您应该发出异步请求并在事件处理程序中处理响应。

function httpGetAsync(theUrl, callback)
{
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function() { 
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
            callback(xmlHttp.responseText);
    }
    xmlHttp.open("GET", theUrl, true); // true for asynchronous 
    xmlHttp.send(null);
}
2022-02-28