我有一个外部 javascript 文件,我想用它来收集多个文本文件的内容。JQuery .get() 似乎是最明显的选择。如果 JQuery 位于页面中,我可以使此工作正常,但当 JQuery 位于外部文件中时则不行。我错过了一些非常简单的东西......而且我目前正在同一个文件中将普通的 javascript 与 JQuery 混合在一起,我担心这种形式很糟糕。
我尝试访问的所有文件都位于同一文件结构内。目前我的外部 .js 中有以下内容:
function addPanels() {
// eventually loop over list of local HTML files
// and do some stuff with the results...
fileContents = readHTMLFile();
}
jQuery(function($){
readHTMLFile = $.get('../html/test.html', function(data) {
alert('Loaded something');
return(data);
});
});
Run Code Online (Sandbox Code Playgroud)
我的 HTML 页面包含以下内容:
<script type="text/javascript">
$(document).ready(function(){
addPanels();
});
</script>
Run Code Online (Sandbox Code Playgroud)
很确定这是一个 RTFM 时刻,因此找到正确的手册/教程会很棒!
担
这jQuery.get是一个异步函数,具有在服务器返回所请求的文档时执行的回调。因此,您无法从该方法返回任何数据。
function addPanels() {
// will not work
fileContents = readHTMLFile();
}
...
readHTMLFile = $.get('../html/test.html', function(data) {
// will not work
return(data);
});
Run Code Online (Sandbox Code Playgroud)
然而,这将起作用:
var addPanelCallback = function(html) {
// append html (or something like that)
alert(html);
};
var addPanel = function(url) {
$.get(url, addPanelCallback);
};
addPanel('../html/test1.html');
addPanel('../html/test2.html');
Run Code Online (Sandbox Code Playgroud)
示例: http: //jsfiddle.net/FgyHp/
| 归档时间: |
|
| 查看次数: |
17752 次 |
| 最近记录: |