jquery读入HTML文件并将文件作为对象返回,为什么';这不管用吗?

jquery读入HTML文件并将文件作为对象返回,为什么';这不管用吗?,jquery,Jquery,我想知道这段代码是否因为无法从函数返回JQuery对象而无法工作。此代码不起作用: var HTML_FILE_URL = '/Solutions1.htm'; var strAll = $.get(HTML_FILE_URL, function (data) { var fileDom = $(data); return fileDom; }); $("#qapagediv

我想知道这段代码是否因为无法从函数返回JQuery对象而无法工作。此代码不起作用:

var HTML_FILE_URL = '/Solutions1.htm';
var strAll = $.get(HTML_FILE_URL, function (data) {
                      var fileDom = $(data);
                      return fileDom;
                });
 $("#qapagediv").append(strAll.html());
但是,此代码确实有效:

 var strAll = $.get(HTML_FILE_URL, function (data) {
         var fileDom = $(data);
         $("#qapagediv").append(fileDom);
         return fileDom;
  });

您的问题是,
$.get
返回一个
$.Deferred().promise()
,而不是回调的返回值。

您的问题是,
$.get
返回一个
$.Deferred().promise()
,而不是回调的返回值。

检查文档中的$.get()它不返回回调的值。具有成功回调的函数通常异步运行

您可以在回调函数中执行任务

$.get(...).done(function(data) { 
    var strAll = $(data);
    $("#qapagediv").append(strAll);
});
要像第一个示例那样执行操作,您需要同步运行AJAX请求。同步意味着它在执行移动到下一行之前完成

var strAll = null;
$.ajax({
    url: HTML_FILE_URL
    success: function(result) {
        strAll = $(data);
    },
    async: false
});
...
$("#qapagediv").append(strAll.html());

检查文档中的$.get(),它不返回回调的值。具有成功回调的函数通常异步运行

您可以在回调函数中执行任务

$.get(...).done(function(data) { 
    var strAll = $(data);
    $("#qapagediv").append(strAll);
});
要像第一个示例那样执行操作,您需要同步运行AJAX请求。同步意味着它在执行移动到下一行之前完成

var strAll = null;
$.ajax({
    url: HTML_FILE_URL
    success: function(result) {
        strAll = $(data);
    },
    async: false
});
...
$("#qapagediv").append(strAll.html());

查看的
.done()
方法。查看的
.done()
方法。