可能重复:
如何从函数的 AJAX 调用返回响应?
我正在尝试通过 ajax 获取一些 HTML 内容。但是由于某种原因,尽管 HTML 使其成为 ajax 函数,但当我尝试将其用作返回值时,我得到undefined
.
像这样:
function get_additional_options(name) {
var post = $.ajax({
type: 'post',
url: 'order_queries_templates/html/' + name + '_additional_options.php?<?=time()?>',
//data:'product_id=' + product_id,
dataType: 'html'
});
post.done(function (p) {
console.log(p); //prints out all the HTML just as I would expect
return p;
});
}
但是当我尝试让 HTML 像这样将其附加到我的页面时
if (has_additional_options == "t"){
var html_to_append = get_additional_options(name);
console.log(html_to_append); // undefined
}
如果我使用该done()
方法,或者只是将值作为成功回调返回,则结果相同。我的错误是什么?