я не могу запустить пример AJAX - PullRequest
3 голосов
/ 21 апреля 2011

Привет всем, у меня есть следующий код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
 <script type="text/javascript">
 function showHint(str)
 {
    var xmlhttp
    if (window.XMLHttpRequest)
    {
        xmlhttp = new XMLHttpRequest()
    }
    else
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

        xmlhttp.onreadystatechange = function()
        {   
        if (xmlhttp.readystate == 4 && xmlhttp.status == 200)
        {
            document.getElementById('hint').innerHTML= xmlhttp.responseText;
        }
        }
        xmlhttp.open("GET","sample.aspx?q=" + str ,true)
        xmlhttp.send()
 }
 </script>
 </head>
 <body>
Type here: <input type="text" id="txt" onKeyUp = "showHint(this.value)"/>  
Suggestion here: <div id="hint"></div>
 </body>
</html>

, но этот пример не работает .. он говорит, что доступ запрещен (ошибка скрипта) Как решить эту проблему!Моя страница aspx выглядит следующим образом

<%
response.expires=-1
dim a(30)
'Fill up array with names
a(1)="Anna"
a(2)="Brittany"
a(3)="Cinderella"
a(4)="Diana"
a(5)="Eva"
a(6)="Fiona"
a(7)="Gunda"
a(8)="Hege"
a(9)="Inga"
a(10)="Johanna"
a(11)="Kitty"
a(12)="Linda"
a(13)="Nina"
a(14)="Ophelia"
a(15)="Petunia"
a(16)="Amanda"
a(17)="Raquel"
a(18)="Cindy"
a(19)="Doris"
a(20)="Eve"
a(21)="Evita"
a(22)="Sunniva"
a(23)="Tove"
a(24)="Unni"
a(25)="Violet"
a(26)="Liza"
a(27)="Elizabeth"
a(28)="Ellen"
a(29)="Wenche"
a(30)="Vicky"

'get the q parameter from URL
q=ucase(request.querystring("q"))

'lookup all hints from array if length of q>0
if len(q)>0 then
  hint=""
  for i=1 to 30
    if q=ucase(mid(a(i),1,len(q))) then
      if hint="" then
        hint=a(i)
      else
        hint=hint & " , " & a(i)
      end if
    end if
  next
end if

'Output "no suggestion" if no hint were found
'or output the correct values
if hint="" then
  response.write("no suggestion")
else
  response.write(hint)
end if
%>

Ответы [ 2 ]

0 голосов
/ 09 ноября 2013

Возможно, проблема в том, что вы запускаете файл HTML в файле file: // protocol.Насколько мне известно, серверные файлы, такие как .php & .asp, не работают в протоколе file: //.Если вы действительно хотите, чтобы это работало, попробуйте настроить Apache и поместить свои файлы в папку вашего сервера.Если вы работаете в Linux, он находится в / var / www, с другими операционными системами я не уверен.Кроме того, хотя это и не связано, я бы порекомендовал изменить ваш Doctype на <!DOCTYPE html>, поскольку сейчас это стандарт.Сожалею.Вам не нужно.Желаем удачи!

0 голосов
/ 20 июля 2011

У вас есть две отдельные проблемы. Во-первых, ваш sample.aspx должен быть sample.asp , поскольку это классическая страница asp, а не страница .Net asp. Убедитесь, что вы изменили путь и в методе xmlhttp.open.

Во-вторых, xmlhttp.readystate должно быть xmlhttp.readyState - обратите внимание на заглавную букву S. Мне понадобилось немного, чтобы понять эту часть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...