AJAX .js 文件未在 HTML 代码中触发
AJAX .js file not firing in HTML code
我对 JS 比较陌生,目前正在研究 XMLHttpRequests 和闭包。我的主要目标是 (1) 将所有 xhr 代码放在一个 .js 文件中 (2) 通过 src 标签将其拉入我的 index.html 页面,最后 (3) 在 index.html页。
当我尝试执行第 3 步时,问题来了...我可以调用我的函数在其本机 .js 文件上触发 xhr,但不能在 index.html.
以下是我到目前为止所写的内容:
var experiment = function(callback){
return function(destination){
var xhr = new XMLHttpRequest();
xhr.onload = function(){
if(xhr.readyState === 4){
if(xhr.status === 200){
var text = xhr.responseText;
callback(text);
}
else{
console.log(xhr.statusText);
}
}
}
xhr.open("get", destination, true);
xhr.send(null);
}
}
function closure(url){
return experiment(alert)(url);
}
然后,在我的 index.html 页面中,拉入如下内容:
<script type="text/javascript" src="exp.js">
closure("url.com/json");
</script>
但是 XHR 永远不会触发。我做错了什么?
<script type="text/javascript" src="exp.js"/>
<script>
closure("url.com/json");
</script>
我对 JS 比较陌生,目前正在研究 XMLHttpRequests 和闭包。我的主要目标是 (1) 将所有 xhr 代码放在一个 .js 文件中 (2) 通过 src 标签将其拉入我的 index.html 页面,最后 (3) 在 index.html页。
当我尝试执行第 3 步时,问题来了...我可以调用我的函数在其本机 .js 文件上触发 xhr,但不能在 index.html.
以下是我到目前为止所写的内容:
var experiment = function(callback){
return function(destination){
var xhr = new XMLHttpRequest();
xhr.onload = function(){
if(xhr.readyState === 4){
if(xhr.status === 200){
var text = xhr.responseText;
callback(text);
}
else{
console.log(xhr.statusText);
}
}
}
xhr.open("get", destination, true);
xhr.send(null);
}
}
function closure(url){
return experiment(alert)(url);
}
然后,在我的 index.html 页面中,拉入如下内容:
<script type="text/javascript" src="exp.js">
closure("url.com/json");
</script>
但是 XHR 永远不会触发。我做错了什么?
<script type="text/javascript" src="exp.js"/>
<script>
closure("url.com/json");
</script>