簡體   English   中英

PHP Ajax onkeyup在我的Switch案例網站上不起作用

[英]PHP Ajax onkeyup doesn't work on my Switch case website

我有一個使用php case並包含為網站的網站。 因此,根據?page =“”結果,我得到它包括一個新網站。

例如:www.test.come /?page = test。

我用來測試PHP和Ajax onkeyup函數的示例是以下示例:

Test.php

<script>
function showHint(str) {
    if (str.length == 0) { 
        document.getElementById("txtHint").innerHTML = "";
        return;
    } else {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "gethint.php?q=" + str, true);
        xmlhttp.send();
    }
}
</script>
</head>
<body>

<p><b>Start typing a name in the input field below:</b></p>
<form> 
First name: <input type="text" onkeyup="showHint(this.value)">
</form>
<p>Suggestions: <span id="txtHint"></span></p>

gethint.php

<?php
// Array with names
$a[] = "Anna";
$a[] = "Brittany";
$a[] = "Cinderella";
$a[] = "Fiona";
$a[] = "Gunda";

// get the q parameter from URL
$q = $_REQUEST["q"];

$hint = "";

// lookup all hints from array if $q is different from "" 
if ($q !== "") {
    $q = strtolower($q);
    $len=strlen($q);
    foreach($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($hint === "") {
                $hint = $name;
            } else {
                $hint .= ", $name";
            }
        }
    }
}

// Output "no suggestion" if no hint was found or output correct values 
echo $hint === "" ? "no suggestion" : $hint;
?>

因此,如果我的www.test.com/?page=test包含我網站上的Test.php。

Test.php上的所有內容都已上傳到網站上,看起來不錯,但是當我在框中輸入字母a時,應該會彈出安娜的名字,但事實並非如此。

但是,如果我在其中存在Test.php文件的頁面上鍵入www.test.com/include/Test.php頁面,則可以正常運行。

這是我用來在不同頁面之間切換的代碼:

<?php
if(isset($_GET["page"])){
    $page = $_GET["page"];
} else {
$page = "News";
}

我認為這可能是無法執行此操作的最大原因,但是我需要解釋為什么以及是否有什么事情可以使它起作用。

我可以為您提供所有代碼的完整示例,但這將成為TEXT的牆,因此我想節省您的所有時間,但要縮短它。 如果您需要完整的代碼來解決問題,那么我將為您提供幫助。

非常感謝您抽出寶貴的時間閱讀並嘗試解決該問題。

最好的問候西蒙

您需要更改AJAX調用以使用gethint.php的絕對路徑。 否則,它將在與進行AJAX調用的頁面相同的文件夾中查找。

xmlhttp.open("GET", "/include/gethint.php?q=" + str, true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM