0

我有一个奇怪的问题,我无法让下拉触发的 php 网页刷新。这是主文件(SelectForceRefresh.php):

    <!DOCTYPE HTML> 
    <html>
        <head>
            <meta charset="utf-8" />
            <meta http-equiv="X-UA-Compatible" content="chrome=1" /><!-- Optimistically rendering in Chrome Frame in IE. -->
                <title>My form</title>

            <script src="http://code.jquery.com/jquery-1.9.1.js"></script>  
        </head>

        <body>
            <script>
                function ConfigFileSelection(id)
                {
                    $.ajax({
                        type: "GET",
                        url: "RefreshConfig.php",
                        data: "confFile = " + id,
                        success: function GotHere()
                        {
                            alert("Got here!");
                        }
                    });
                }
            </script>

            <select name="userconfigoption" onchange="ConfigFileSelection(this.value);" >
                <option value="1">One</option>
                <option value="2">Two</option>
                <option value="3">Three</option>
            </select>
        </body>

    </html>

这是“链接”文件(RefreshConfig.php):

<?php

if(isset($_GET['confFile'])){
    CopyUserConfig($_GET['confFile']);
}

function CopyUserConfig($id)
{   
    header("Location: SelectForceRefresh.php");
    exit;
}

?>

问题是当我从下拉菜单中进行选择时会触发 javascript 函数,因为我看到警报“到了这里!”,但另一个 php 文件从未触发刷新。我已经做了三天了,不知道我错过了什么。我已经在 Stack Overflow 上查看了其他解决方案,如下所示:

在更改下拉列表显示时调用 php 函数

我试图从哪里学习这种技术,但它们根本不起作用。

我在这里想念什么?两个文件都在同一个目录中。提前致谢。

4

1 回答 1

0

您不能让您使用 AJAX 函数定位的 PHP 文件刷新您的网页。最好的方法是在 AJAX 的成功函数中执行 if(使用 JavaScript 也是如此)。就像是:

$.ajax({
    type: "GET",
    url: "RefreshConfig.php",
    data: "confFile = " + id,
    success: function GotHere() {
        window.location.reload();
    }
});
于 2013-08-11T17:10:05.367 回答