问题描述
- jQuery异步提交与后台入库的问题。
-
页面有多块结构相同(对应的文本框name一样)但是用户输入内容不同的div,输入的内容都要保存到一个数据库里同一张表。现在提交的时候是循环找到单个div把单个div的html提取出来然后ajax异步提交到后台单块保存到数据库。遇到的问题是,当这样的div存在几百块的时候,火狐会直接卡死不执行jQuery代码。欢迎大家前来指点。
解决方案
应该还是你js读取div死循环或什么了,几百个数据应该没问题
解决方案二:
几百个div应该不会循环死,你的代码贴出来看看,应该是代码的问题。
解决方案三:
$(this).find("div").each(function () {
var thisTalbe = $(this);
form.html("");
//摘取当前div内容给submitHtml
submitHtml = $(this).formhtml();
form.append(submitHtml);
form.ajaxSubmit({
url: "Handel/SaveModuleToDatabase.ashx",
dataType: "json",
data: { "ModuleType": thisDivId, "EnterpriseId": $("#hidEnterpriseid").val(), "OrderId": $("#hidOrderId").val(), "rnd": Math.random() },
success: function (data) {
},
error: function () {
}
});
});
解决方案四:
直接用jquery的ajax就好了,不需要导入其他的插件增加浏览器的负担,也节省dom操作
//form.html("");
//摘取当前div内容给submitHtml
//submitHtml = $(this).formhtml();
form.append(submitHtml);
form.ajaxSubmit({
这几个操作直接去掉,通过thisTalbe对象找到要提交的数据map下组合成json对象,用$.ajax发送数据就行了,如果你的thisTalbe包含表单,直接
thisTalbe.find('form').serliaze()就可以序列化为键值对了,在附加上你其他的data
时间: 2025-01-21 01:56:35