Tôi đang học phát triển web, tôi gặp khó khăn khi gọi PHP từ tệp javascript. Tôi thực sự đánh giá cao những gợi ý về nơi tôi đã sai trong ví dụ bên dưới. Khi tôi chạy nó, phần HTML hoạt động nhưng nó không đến PHP và nhận dữ liệu từ nó. Tôi đã kiểm tra PHP bằng cách chạy một tệp khác trực tiếp trong trình duyệt, nó hoạt động tốt. Tất cả các dịch vụ khác trên XAMPP đều đang chạy. Cả tệp js và php đều nằm trong cùng một thư mục, sử dụng Windows nếu có ích.
Tôi cũng đã xem qua mã, nó dừng ở dòng này bên dưới trong tệp js
var xmlhttp = new XMLHttpRequest();
Nó không chạy quá điểm đó
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Suggest</title>
</head>
<script>
function showHint(str) {
if(str.length == 0){
//print(str);
document.getElementById("txtHint").innerHTML = "";
return;
}else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if(this.readyState == 4 && this.status == 200){
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "gethint.php?q" + str, true);
xmlhttp.send();
}
}
</script>
<body>
<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>
</body>
</html>
gethint.php
<?php
/**
* Created by PhpStorm.
* User: dkamt
* Date: 13/02/2019
* Time: 23:39
*/
// Array with names
$a[] = "Anna";
$a[] = "Brittany";
$a[] = "Cinderella";
$a[] = "Diana";
$a[] = "Eva";
$a[] = "Fiona";
$a[] = "Gunda";
$a[] = "Hege";
$a[] = "Inga";
$a[] = "Johanna";
$a[] = "Kitty";
$a[] = "Linda";
$a[] = "Nina";
$a[] = "Ophelia";
$a[] = "Petunia";
$a[] = "Amanda";
$a[] = "Raquel";
$a[] = "Cindy";
$a[] = "Doris";
$a[] = "Eve";
$a[] = "Evita";
$a[] = "Sunniva";
$a[] = "Tove";
$a[] = "Unni";
$a[] = "Violet";
$a[] = "Liza";
$a[] = "Elizabeth";
$a[] = "Ellen";
$a[] = "Wenche";
$a[] = "Vicky";
// 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;
?>
Bạn đã thử thêm http và toàn bộ url chưa?
Xin chào Appernetic: vâng, tôi đã thử sử dụng đường dẫn tuyệt đối, nó không hoạt động. Tôi cũng đã xem qua mã, nó đang dừng ở dòng này:
var xmlhttp = new XMLHttpRequest();
Nó không chạy quá điểm đó
Tôi luôn gặp sự cố với javascript nhưng bạn thể hiện rất tốt. Cảm ơn
1 lượt thích
Vâng, đã thử đề xuất của bạn. Hoạt động, cảm ơn rất nhiều
Nhưng bạn nói rằng bạn đã thử nó rồi và nó không hoạt động? Nhưng thật tuyệt khi nó đã giải quyết được!
Ah, bạn cũng đã thêm http?