Javascript 无法使用$.post刷新页面
我很困惑,找不到正确的方法。我有一个问题,我将尝试用下面的例子来简化它。首先,test.php的代码:Javascript 无法使用$.post刷新页面,javascript,php,jquery,Javascript,Php,Jquery,我很困惑,找不到正确的方法。我有一个问题,我将尝试用下面的例子来简化它。首先,test.php的代码: <html> <head> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script src="test1.js"></script> </head> <body> <input value
<html>
<head>
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
<script src="test1.js"></script>
</head>
<body>
<input value="press" type="button" onclick="test()">
<script>
alert ("Home");
</script>
</body>
</html>
从我的角度来看,我希望有三个警报窗口:Test1、Home和Test1,因为我认为test.php会在调用$.post(“test.php”)后刷新。我错过了什么?什么是我的错
我希望在代码更复杂的页面中做到这一点(即,在php页面自身的主体中单击按钮后,首先执行一些JS代码,然后刷新该页面)。我非常感谢您的解释和您的解决方案来澄清这一点。您只需向远程服务器发送请求,而不使用respond。来自jquery文档: 这是一个速记Ajax函数,相当于: 因此,您要做的是发送一个ajax请求。这意味着页面不会被重新加载,来自服务器的结果会被发送回为post请求提供的回调函数,并且应该在那里进行处理 要刷新页面,您应提交如下表单:
$('#formid').submit(callbackFunction);
当然,我想对于这个解决方案,您应该首先在html中添加一个表单…如果您只想刷新页面,您不需要
post
或ajax
。请改用此功能:
function test()
{
alert("Test1");
window.location.reload(true);
}
只能将变量、数据或任何类型的请求发送到test.php。它不会从test.php获取所有代码并在页面中运行。如果您想从test.php获得一些响应,请使用:
$.ajax("test.php");
此方法将请求或数据发送到test.php,然后还可以处理一些响应:
$.ajax(
url: "test.php",
data: null,
type:"post",
success: function(result){
alert(result);
}
您应该使用location.reload(true);未从中加载的重载
缓存
true参数使其不能从缓存中读取
两个问题
$。post
使用窗口。位置。重新加载(true)
$(文档)。就绪
包括$(文档)。就绪
警报顺序将是
home
-->test1
-->home
如果您不发送数据或对响应执行任何操作,post的目的是什么。你读过文档了吗?如果你只想重新加载页面而不是$.post
,为什么不使用window.location.reload()
?你只想刷新页面吗?三个警告窗口:Test1、Home和Test1
如果你刷新了。。。您将有三个警报home、test1、home
…您将如何根据您的代码test1
警报两次“home”将警报两次,那么$post(“test.php”,function(result){alert(result);};
?$.ajax(“test.php”)呢被认为是从服务器调用资源的最合适的方法。$.post(“test.php”,function(result){alert(result);})也执行类似的功能,但它提供的功能少于$.ajax(“”);我当然同意这一点,但我只是想指出,您编写的代码片段与$完全相同。post:)-1说$是完全错误的。post
不允许处理服务器响应
$.post("test.php");
$.ajax("test.php");
$.ajax(
url: "test.php",
data: null,
type:"post",
success: function(result){
alert(result);
}
<html>
<head>
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
<script src="test1.js"></script>
</head>
<body>
<input value="press" type="button" onclick="test()">
<script>
alert ("Home");
</script>
</body>
</html>
function test()
{
alert("Test1");
window.location.reload(true);
}