jquery读入HTML文件并将文件作为对象返回,为什么';这不管用吗?
我想知道这段代码是否因为无法从函数返回JQuery对象而无法工作。此代码不起作用: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
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()
方法。