Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从文件加载包含内容的textarea_Javascript_Jquery_Html - Fatal编程技术网

Javascript 从文件加载包含内容的textarea

Javascript 从文件加载包含内容的textarea,javascript,jquery,html,Javascript,Jquery,Html,问题 我的目标是能够将文本文档中的文本加载到中,以便在屏幕上为用户显示。$.get()调用能够检索内容,并且似乎将其存储在“notes”全局变量中,但是当调用.val()并向其传递“notes”时,它似乎没有加载要在中显示的字符串 我已经阅读了之前关于Stackoverflow的几个问题和其他关于Google的文章,但到目前为止我还没有找到任何解决方案。有人有什么建议吗 HTML <div class="col-md-5 module"> <h1>My Notes&

问题

我的目标是能够将文本文档中的文本加载到
中,以便在屏幕上为用户显示。$.get()调用能够检索内容,并且似乎将其存储在“notes”全局变量中,但是当调用.val()并向其传递“notes”时,它似乎没有加载要在
中显示的字符串

我已经阅读了之前关于Stackoverflow的几个问题和其他关于Google的文章,但到目前为止我还没有找到任何解决方案。有人有什么建议吗

HTML

<div class="col-md-5 module">
   <h1>My Notes</h1>
   <form>
      <textarea id="note-app" class="full-width full-height" placeholder="Save your notes here..."></textarea>
   </form>
</div>
输出

notes.js:14
Data:
{
pie
}

jquery.min.js:4 XHR finished loading: GET
"http://localhost:63342/Dad/docs/notes.txt".k.cors.a.crossDomain.send @
jquery.min.js:4n.extend.ajax @ jquery.min.js:4n.(anonymous function) @
jquery.min.js:4(anonymous function) @ notes.js:7
notes.js:8 Loading notes...
$(document).ready(loadNotes(notes))

应该是

$(文档).ready(函数(){
加载注释(注释)
});

jQuery函数接受一个函数。您所做的是在读取该行代码时立即执行该函数。不是在文档实际加载时

如果这能帮你解决问题,请告诉我。

有几件事

$(document).ready(loadNotes(notes))
正在立即调用
loadNotes
,而不是等待文档准备就绪。您可以通过省略
()
来传递函数,但您只是在调用它

触发
loadNotes
时,您的
$.get
调用可能仍在运行。使用回调-等待完成-然后运行
loadNotes

重构:

function getNotes(callback) {
    $.get("../docs/notes.txt", function (data) {
        console.log('Loading notes...');
        callback(data);
    });
}

function loadNotes() {
    getNotes(function(notes) {
        $("#note-app").val(notes);
    });
}

$(document).ready(loadNotes);

为什么不把
$放在文档中,准备好
?按照所显示的代码将其存储在变量中是没有意义的。(如果您只希望在加载文档后获取内容)

或者作为一种功能:

$( document ).ready(function() {

    function loadNotes() {
        $.get("../docs/notes.txt", function (data) {
            $("#note-app").val(data);
        });
   }

   loadNotes(); //Execute function now when DOM is loaded

));
另一件值得一提的事情是

var notes=“pie”在document ready之外,因此无法使用document ready进行访问

var notes = 'pie';
$( document ).ready(function() {
    alert(notes); //will alert undefined or similar
    var notes = 'die';
    alert(notes); //will alert die
}
如果需要这样的全局变量,应该使用:window.notes=“pie”


好主意。这是我最初使用的方法,但我最终将所有东西分开,希望它能导致错误的发现。谢谢
$( document ).ready(function() {

    function loadNotes() {
        $.get("../docs/notes.txt", function (data) {
            $("#note-app").val(data);
        });
   }

   loadNotes(); //Execute function now when DOM is loaded

));
var notes = 'pie';
$( document ).ready(function() {
    alert(notes); //will alert undefined or similar
    var notes = 'die';
    alert(notes); //will alert die
}
var window.notes = 'pie';
$( document ).ready(function() {
    alert(notes); //will alert pie
    var notes = 'die';
    alert(notes); //will alert die
}