我做了一个非常简单的Ajax测试代码片段:如何在不按下按钮的情况下立即执行代码?
<!DOCTYPE html>
<html>
<head>
<script src='main.js'></script>
</head>
<body>
<button id='get-content'>Click</button>
<p></p>
</body>
</html>
main.js
(function(){
window.addEventListener('load', function(){
var xml_request = new XMLHttpRequest();
xml_request.open('GET', '/test.txt', true);
xml_request.addEventListener('readystatechange', change_content);
var button_element = document.getElementById('get-content');
button_element.addEventListener('click', fireup(xml_request));
function fireup(xml_request) {
xml_request.send();
}
function change_content(){
if (xml_request.readyState == 4 && xml_request.status == 200) {
document.getElementsByTagName('p')[0].textContent = xml_request.responseText;
};
};
});
})();
它的工作原理,但除了,Ajax请求发送并更改p标签,没有我打的按钮, 有什么想法?
感谢的人,它的工作原理,但我想知道为什么经过'xml_request'到fireup将立即引起含量的变化 – mko
@ yozloy,因为你正在调用这个函数。有fireup'和'fireup()'之间有很大的区别' –
@JanDvorak WOW,感谢完全清楚了我的困惑,如果我需要的参数传递给它,我应该使用'函数(){火起来(参数1)} ',我说得对吗? – mko