Ajax只显示数组中最后一个文件元素的响应文本
Ajax only displays the response text of last file element of the array
使用Ajax,我想在单击某个文件的相应选项卡时显示其响应文本;例如,当点击"框1"选项卡时,必须显示box1.html
的响应文本,box2.html
的响应文本为"框2",box3.html
-的响应文本为"框3"(框文件位于ajax
文件夹内)。问题是,所有三个选项卡只显示box3.html
的响应文本。当我打开控制台查找错误时,没有。
<section>
<!-- TABS -->
<div>
<button>Box 1</button>
<button>Box 2</button>
<button>Box 3</button>
</div>
<!-- ResponseText container -->
<div id="response-text"></div>
</section>
JavaScript function query(selector) {
return Array.prototype.slice.call(document.querySelectorAll(selector));
}
query('button').forEach(function(btn) {
btn.onclick = function() {
var xhr = new XMLHttpRequest();
var files = ['box1', 'box2', 'box3'];
for(var f=0; f<files.length; f++) {
var result = files[f];
xhr.open('POST', 'ajax/'+result+'.html', true);
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == 200) {
document.querySelector('#response-text').textContent = xhr.responseText;
}
}
xhr.send();
}
}
});
是我的风格push元素到数组不当?
我将非常感谢您提出的更正、改进和建议。
您可能正在使用
命令覆盖div。文档。querySelector('# response-text') textContent = xhr.responseText.;切换到追加,看看是否正常工作。
文档。querySelector('# response-text') append(xhr.responseText);
相关文章:
- 通过iron-ajax初始化对象数组(链接到caller's元素的响应)
- 响应画布元素
- 为什么不是't html<对象>元素响应鼠标事件
- 如何在jquery ajax成功html响应中找到输入隐藏元素
- 按钮元素没有响应
- 单击按钮后的无响应元素
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 原型js 如何使定期更新程序隐藏基于ajax响应的类元素
- Jquery-(ajax async:true)元素大小没有响应
- 为什么jquery元素在ipad上没有响应
- 页面元素停止响应
- 如何从html响应解析javascript数组(包含JSON对象作为元素)
- 循环遍历 AJAX 响应元素
- 多个元素响应移动Webkit和Hammer JS上的触摸事件
- 将元素添加到 Ajax 响应返回的表单中
- 如何使图像DOM元素响应
- 我怎么能强迫元素在一个固定的定位元素响应javascript的onclick事件在Android web浏览器
- 如何使用CSS @media查询使这个元素响应
- 基于部分元素响应解析JSON数据
- JS窗口宽度html5视频元素响应