gpt4 book ai didi

jquery - 使用AJAX发送表单: are the HTTP response's DOM and data loaded nevertheless?

转载 作者:行者123 更新时间:2023-12-01 01:17:27 25 4
gpt4 key购买 nike

这是我的代码:

<script>

function loadPage() {

function sendFormHelper(callback) {
var url = "/same-as-current-url";
var serializedForm = $('#form').serialize();
$.post(url, serializedForm, function(data) {
callback(data);
});
}

$('#form').off('submit').on('submit', function() {
sendForm(function(data) {
var mainResultCount = $(data).find('#main-result-count');
var mainList = $(data).find('#main-list');
$('#main-result-count').html($(mainResultCount).html());
$('#main-list').html($(mainList).html());
loadPage();
});
return false;
});

}

$(function() {
loadPage();
});

</script>

<form id="form">
<!-- some stuff -->
</form>

<div id="main-result-count">
<!-- some stuff that can change -->
</div>

<div id="main-list">
<!-- some stuff that can change -->
</div>

如您所见,我没有在提交表单时重新加载页面,而是捕获事件并使用 AJAX 发送它。返回的数据是一整个 HTML 页面,与用户看到的几乎相同。在该页面上,我使用可能更改的数据更新当前布局。

我的页面上还有其他几个 JS 脚本,它们的运行时间相当长,并且有很多布局数据,例如图像、CSS、菜单等。所有这些数据和 DOM 也会在获取 AJAX 请求的响应时加载,即使该内容未显示,或者此类内容仅在浏览器解析时加载,然后保持一种 大字符串

我找不到自己应该实现哪种测试来找到答案:(

最佳答案

不,当您执行此操作时,其他内容将不会被加载。 ajax 请求只会获取标记本身。它也不会引入外部脚本、运行脚本等。只有加载 HTML session 的浏览器才会这样做。

您可以使用 Firebug 等工具进行调查,以验证我在这里的正确性。

在您提出请求时,请继续观看 Firebug 的网络 I/O。您会注意到没有加载任何 javascript/css 资源...只是来自 servlet 的标记。

希望这有帮助。

关于jquery - 使用AJAX发送表单: are the HTTP response's DOM and data loaded nevertheless?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com