我使用的是JQuery,页面的行为就像刷新但不更新我的表格。我使用location.reload(true);
的所有其他JQuery命令都进行了硬刷新。使用这个AJAX版本似乎并没有这样做。我计划稍后使用AJAX来更新div,但是现在整个页面刷新是我需要的。
JS
$(document).ready(function(){
$('#import_audit').click(function(){
//alert("Audit Deleted");
$('#import_audit_div').modal('show'); //show modal with id="import_audit_div"
$('#import_audit_table').load("edit_audits.php?action=import"); //Doesn't load from database until modal is loaded.
});
$(function() {
$("#import_audit_form").submit(function(e) {
e.preventDefault();
// 'this' refers to this form element
var data = $(this).serialize();
$.ajax({
type: "POST",
url: "edit_audits.php?action=process_import",
data: data,
success: function (data) {
alert("Audit Transfered");
//$('#import_audit_div').modal('hide');
location.reload(true);
//trying to reload only the div
//$("#Results1").load(location.href + " #Results1");
}
});
});
});
});
答案 0 :(得分:0)
您错过了底部的});
。在您的浏览器开发工具中,它是否在您的控制台中显示错误?我认为你的javascript实际上并不起作用,这意味着location.reload(true)
永远不会触发。
答案 1 :(得分:0)
我认为它是缓存的ajax请求本身。尝试添加缓存设置。
$.ajax({
type: "POST",
url: "edit_audits.php?action=process_import",
data: data,
cache : false,
...
关于这是否有影响,有一些相互矛盾的信息,但值得尝试。
缓存(默认值:true,false,对于dataType'script'和'jsonp') 类型:布尔值 如果设置为false,它将强制浏览器不缓存请求的页面。注意:将缓存设置为false只能与HEAD和GET请求一起正常工作。它的工作原理是将“_ = {timestamp}”附加到GET参数。其他类型的请求不需要该参数,但在IE8中,当对已经由GET请求的URL进行POST时,该参数除外。
您还可以尝试全局禁用缓存,以查看是否有任何更改。
$ .ajaxSetup({cache:false});