Ajax – 提交后如何刷新
在我的应用程序发布提交后,如何刷新页面的一部分(“DIV”)? 我在插件ajaxForm中使用JQuery。 我用“divResult”设置我的目标,但页面在“divResult”中重复你的内容。 资料来源:
$(document).ready(function() { $("#formSearch").submit(function() { var options = { target:"#divResult", url: "http://localhost:8081/sniper/estabelecimento/pesquisar.action" } $(this).ajaxSubmit(options); return false; }); })
页
... ... Name Phone
谢谢。
要使用jquery解决这个问题,我会试试这个;
$(document).ready(function() { $("#formSearch").submit(function() { var options = { /* target:"#divResult", */ success: function(html) { $("#divResult").replaceWith($('#divResult', $(html))); }, url: "http://localhost:8081/sniper/estabelecimento/pesquisar.action" } $(this).ajaxSubmit(options); return false; }); });
或者,您可以让服务器只返回需要插入div的html而不是html文档的其余部分。
我真的不知道TableSorter插件,但我知道每次重新加载元素时都需要重新初始化TableSorter插件。 所以在你的成功函数中添加一行,例如
success: function(html) { var resultDiv = $("#divResult").replaceWith($('#divResult', $(html))); $('table.tablesorter', resultDiv).TableSorter(); }
您的问题出在服务器端:您必须创建一个只返回所需div的页面,然后更改“url”以匹配该页面。
目前您正在使用AJAX调用加载整个页面,这就是它返回整个页面的原因。
您可以使用大多数正常的jquery ajax函数参数和ajaxSubmit。 只需传递一个成功的function。
$('#formSearch').ajaxSubmit({success: function(){ /* refresh div */ });
请参阅此处以获取更详细的示例。
如果你只是想用你的post结果覆盖它之前使用相同的静态内容来刷新你的div
,你可以试试类似的东西:
$("#Container").html($("#Container").html());
当然要小心内部HTML没有改变,或者你可以将innerHTML存储在document.ready()
函数的变量中,然后在需要时加载它。 对不起,写得很忙。
使用jQuery,有时当我执行.get ajax调用来更新数据库时,我使用成功回调函数中的简单jQuery .load语句重新加载/刷新页面的另一部分来替换div的内容。
$("#div_to_refresh").load("url_of_current_page.html #div_to_refresh")
我想指出,这不是重新加载一小部分数据的最有效方法,因此我只会在低流量的Web应用程序上使用它,但编码很简单。
- 使用jQuery高效的AutoSuggest?
- 如何使用JQuery和Ajaxvalidation表单字段并将表单数据发布到服务器?
- jQuery UI Autocomplete JSON给出错误:Uncaught TypeError:无法使用’in’运算符来搜索’62’
- Javascript:点击后加载AddThis
- JQuery Ajax发布到C#
- 如何在普通的javascript中实现jQuery Mobile Animated Ajax页面导航(转换)
- Coldfusion和jquery ajax
- ajax调用中的输入值不起作用
- 无论何时进行AJAX POST,Laravel 4 app都会将用户注销