0

プルダウンによってトリガーされたphp Webページを更新できないという奇妙な問題があります。メイン ファイル (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;
}

?>

問題は、「Got here!」というアラートが表示されるため、プルダウンから選択すると javascript 関数が起動されることですが、他の php ファイルが更新のためにトリガーされることはありません。何が欠けているのかわからないまま、3日間これを続けています。ここで、Stack Overflow で次のような他のソリューションを確認しました。

ドロップダウン リスト showld の変更で php 関数を呼び出す

このテクニックをどこから学ぼうとしましたが、うまくいきません。

ここで何が欠けていますか?両方のファイルは同じディレクトリにあります。前もって感謝します。

4

1 に答える 1

0

AJAX 関数で対象とする PHP ファイルに Web ページを更新させることはできません。最善の方法は、AJAX の成功関数 (JavaScript の場合) で行うことです。何かのようなもの:

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