在javascript xhr请求函数上显示/隐藏html元素
Show/hide html element on javascript xhr request function
我有一个 signle html 元素,我需要通过 jquery 在纯 JavaScript xhr 请求方法中显示和隐藏它,现在它总是显示元素而不隐藏请求完成/成功,如果出错我想再次隐藏它。
.html
<div class="ajax-loading">Loading ..</a>
XHR 方法
function post(_url, _callback,_data){
var xhr = createCORSRequest('POST',_url);
if (!xhr){
throw new Error('CORS not supported');
}
$('.ajax-loading').show();
xhr.send(_data);
/*SUCCESS -- do somenthing with data*/
xhr.onload = function(){
// process the response.
_callback(xhr.responseText);
$('.ajax-loading').hide();
};
xhr.onerror = function(e){
console.log(e);
$('.ajax-loading').show();
};
}
问题是我总是通过$.ajax()语句(error,success,beforeSend)来做到这一点,这次我有纯粹的JavaScript XHR请求,我不知道该怎么做。
为了更清楚,我希望将其转换为XHR JavaScript,如下所示:
$.ajax({
/*data etc ...*/
error:function(){
$('.ajax-loading').show();
},
success:function(){
$('.ajax-loading').hide();
},
beforeSend:function(){
$('.ajax-loading').show();
}
});
编辑
我也尝试过但没有成功:
function get(_url, _callback){
var xhr = createCORSRequest('GET',_url);
if (!xhr){
throw new Error('CORS not supported');
}
xhr.send();
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 /*COMPLETE STATEMENT*/){
alert(xhr.readyState);
}
};
/*SUCCESS -- do somenthing with data*/
xhr.onload = function(){
// process the response.
_callback(xhr.responseText);
};
xhr.onerror = function(e){
console.log(e);
};
}
检查这个:Wiki for xmlhttprequest
在xmlHTTPRequest中,你必须检查对象的状态,以了解请求发生了什么。
固定
xhr.onloadstart = function(){
$('.ajax-loading').show();
}
xhr.onloadend = function(){
$('.ajax-loading').hide();
}
相关文章:
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- Javascript/jQuery赢得't隐藏HTML元素
- 隐藏HTML元素中的JSON编码和解码
- 如何比较单元格值和隐藏 html 表中的行
- 只有当类是硬编码的时,才可以使用jQuery来显示/隐藏html内容
- 隐藏html页面中的某些字段以用于打印布局中的页眉/页脚
- 如何在Android 4.3及更早版本上隐藏HTML元素
- Javascript:显示/隐藏HTML节点
- 为什么这个Javascript没有隐藏HTML项目
- 隐藏HTML表单's“提交”按钮
- 使用jquery显示/隐藏html ul
- 显示几秒钟后隐藏 HTML 元素
- 如何隐藏 HTML 按钮
- 如何显示和隐藏 html 字段集 以及从 Asp.Net 代码后面设置图例文本
- 我可以根据换行动态隐藏 html 字符吗?
- 在所选选项更改时显示和隐藏 html 元素
- 多个文本字段,根据单选选择显示/隐藏(Html,JS)
- 在用户提交之前隐藏 HTML 元素
- 通过单击按钮数组获取隐藏 html 元素值的当前数组
- 如何通过MVC操作方法显示/隐藏HTML按钮