2
这里是我的代码:使用AJAX发送表单:是HTTP响应的DOM和数据加载吗?
<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请求的响应时加载,即使该内容没有被显示,或者是那种仅在浏览器解析时加载的东西,然后停留一种大字符串?
我无法找到我应该执行找到我自己:(
谢谢你!你的回答很棒,不仅因为它很清楚,而且因为那是我希望的那个'')'' – sp00m