Я пытаюсь создать живой поиск AJAX (такой как Google Suggest) с python.Я новичок в AJAX, поэтому я начал читать некоторые учебники и другую полезную документацию.Я нашел пример, http://www.w3schools.com/ajax/ajax_aspphp.asp,, который я в основном пытаюсь выполнить, но этот пример только для asp / php.До сих пор мне удавалось кодировать часть программы на python, однако я получаю неопределенную ошибку.
Ниже приведен мой код JavaScript (test.js, который в основном такой же, как и в примере):
function showHint(str)
{
var xmlhttp;
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","search.py?q="+str,true);
xmlhttp.send();
}
В Firefox 4 появляется ошибка «str is undefined».
Ниже приведена моя HTML-часть кода на python:
<html>
<head>
<title>Live Search</title>
<script src="http://localhost:8000/test.js" type="text/javascript"></script>
</head>
<body>
<h1> Cities </h1>
Enter Anything: <input type="text" id="sname" onkeyup="showHint(this.text)">
%(search)s
</body>
</html>
Примечание: раньше у меня был onkeyup = "showHint (this.id), но по какой-то причине он не работал ... он продолжает передавать" sname "как запрос вместо того, что я печатаю в поле ввода.
Пожалуйста, помогите