Jquery:从Get Request更改jqXHR的HTML内容

Jquery: Change HTML content of jqXHR from Get Request

本文关键字:jqXHR HTML 内容 更改 Request Get Jquery      更新时间:2023-09-26

我有一个单独的HTML文件,我通过$.get()加载,然后变成一个引导模式对话框:

$.get("src/html/foobar.html", function (data) {
    var md = $(data).modal({
        backdrop:'static',
        keyboard: false
    });
});

但是,在将其转换为模式对话框并显示它之前,我想从服务器加载一些内容。我们从jQuery的文档知道$.get()返回一个jqXHR对象。有没有办法在我将其显示为模态之前以某种方式更改data中返回的 HTML 的内容?

编辑

:我应该更具体一点,并询问我可以对对象执行哪些操作来编辑其内容。

当然

,您可以在回调函数中修改内联data,然后再将其传递给.modal

然而,一个更简洁的机制是只从作为jqXHR对象的Promise链接一个.then调用:

$.get(url).then(function(data) {
    // modify the data here
    ...
    return modified_data;
}).then(function(data) {
    // show data modally
});

注意:这假设 jQuery 1.8 或更高版本,并改进(即更正

(语义.then

为了避免编写大量内联函数,请将修饰符函数和模态函数分开命名函数,然后可以编写:

$.get(url).then(modify).then(display);
Promise

是允许责任分离的"新"方式(从 jQuery 1.5 开始(——从上面的例子中可以看出,Promise 链允许你完全解开检索、修改和随后显示远程数据的三个独立行为。