我无法运行ajax示例

时间:2011-04-21 06:31:57

标签: asp.net ajax

大家好,我有以下代码

<!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 :(得分:0)

您有两个不同的问题。首先,你的sample.aspx应该是 sample.asp ,因为它是一个经典的asp页面,而不是.Net asp页面。请务必同时更改xmlhttp.open方法中的路径。

其次,xmlhttp.readystate应该是xmlhttp.readyState - 请注意首都S.让我稍微了解一下这一部分。

答案 1 :(得分:0)


问题可能是您在file://协议中运行HTML文件。据我所知,服务器文件如.php&amp; .asp在file://协议中不起作用。
如果您确实希望这样做,请尝试设置Apache并将您的文件放在服务器文件夹中。如果您使用的是Linux,它位于/ var / www中,与其他操作系统相比,我不太确定。
此外,我认为这是无关的,我建议您将Doctype更改为<!DOCTYPE html>,因为它现在是标准。抱歉。你不必。
祝你好运!