我需要在JavaScript中执行HTTPGET请求。最好的方法是什么?
我需要在Mac OS X破折号小部件中执行此操作。
浏览器(和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);
}
向传递的 URL 发出一个 GET 请求。 使用 XMLHttpRequest web API 向给定的 url 发出 get 请求。 通过调用给定的 callback 和 responseText 来处理 onload 事件。 通过运行提供的 err 函数,处理onerror事件。 省略第四个参数 err ,默认将错误记录到控制台的 error 流。 const httpGet = (url,
问题内容: 我正在使用以下代码从Web服务器请求xml: 当我调用httpclient.execute(httpget,responseHandler)时,我得到一个clientProtocolException。该URL在Web浏览器中工作正常,它返回xml,然后浏览器显示它。 有什么想法为什么我会得到一个clientProtocolException而浏览器却能很好地处理它? 编辑1: 查看协
我正在尝试从远程服务器获取响应。下面是我的代码: 在行中出现以下异常: IllegalStateException:目标主机不能为空,或在参数中设置。scheme=null,host=null,path=http://www.pappico.ru/promo.php?action=registerUser¶ms={“userid”:1,“username”:“ithsoftsuve+...
我的android应用程序一直在崩溃。我正在尝试通过电话后连接到网络服务。但是我的应用程序每次尝试调用网络服务时都会崩溃。
问题内容: 是否可以仅使用JavaScript中的XMLHTTPRequest来执行HTTP Head请求? 我的动机是节省带宽。 如果没有,是否可以伪造呢? 问题答案: 很简单,只需使用HEAD方法,而不是GET或POST: 这只是一个简短的示例,展示了如何使用HEAD方法。生产代码可能需要针对不同的结果状态(成功,失败,超时)更细粒度的回调,并可能使用不同的事件处理程序(,而不是)。