Javascript 无法使用$.post刷新页面

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

我很困惑,找不到正确的方法。我有一个问题,我将尝试用下面的例子来简化它。首先,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="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)
  • $(文档)。就绪
    包括
    $(文档)。就绪
  • test.php
    警报顺序将是
    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);
    }