var xmlHttp = new ActiveXObject('MSXML2.XMLHTTP');          
xmlHttp.open('GET' , url , false , sUserName , sPassword );          
xmlHttp.SetRequestHeader( 'Accept-Lauguage' , 'zh-cn' );          
xmlHttp.Send();   
  
         在网页所在的服务器上访问xmlHttp.staus是200(成功),但在其他机器上访问,xmlHttp.Status 的值是401(没有权限,有人说是因为服务器上关掉了xmlhttp组件的权限,请问在服务器上应该怎样设置才可以开启xmlhttp组件的权限?          谢谢

解决方案 »

  1.   

    没高过!我做的程序里也用到过XMLHTTP,放到服务器上什么都没改就能够运行!没有出错!
      

  2.   

    你一定要先把思路搞清楚,按照原理去试验,不要乱试!“在网页所在的服务器上访问xmlHttp”、“但在其他机器上访问”,难道你是用“其他机器”作服务器吗?你自己不在意这个,所以说的含糊,但是这是关键。如果不是,“因为服务器上关掉了xmlhttp组件的权限”岂不荒唐?!
      

  3.   

    to sp1234()可能是我没有说清楚:现在有三台机器:WebServer , SPSServer 和 Computer11. 在 WebServer 机器的iis中有一个基于windows验证的web应用程序,我们暂时称作WebApplication2. 在SPSServer上有一个SharePoint网站(如果你没有用过sharepoint也不要紧,就把它当作一个普通的网站好了),把这个网站暂时称作SPSApplication,在这个网站上的一个网页上面有一个web part(如果你没有用过web part也不要紧,就把它当作一个普通的自定义控件好了),在这个网页上有一段javascript代码,
    ---------------------------
    var xmlHttp = new ActiveXObject('MSXML2.XMLHTTP');          
    xmlHttp.open('GET' , url , false , sUserName , sPassword );          
    xmlHttp.SetRequestHeader( 'Accept-Lauguage' , 'zh-cn' );          
    xmlHttp.Send();   
    -------------------------------
    上面代码中的url就是WebServer机器上 iis中的一个基于windows验证的网页,
    当我打开SPSApplication上的一个网页的时候,会执行这段javascript代码现在我在WebServer机器上打开SPSApplication上的网页,结果成功执行了javascript代码,不但打开了网页,而且在没有弹出用户名和密码输入提示的情况下,把用户信息传递过去了。但是现在我在Computer1上面打开SPSApplication上的网页,javascript执行就错误了,我跟踪了一下,发现xmlHttp.status是401(没有权限)上面就是问题描述,请指教,谢谢
      

  4.   

    好就算明白了你说的前一个服务器的含义。那么后一个服务器是指哪台机器?不论是指哪台,你在Computer1上的试验失败都无法归咎于“服务器上的xmlhttp组件”的权限问题。因为出错的网页不是在Computer1上么?
      

  5.   

    算了,我也不咬文嚼字了。你看看你 WebServer 上的虚拟目录访问权限设置。不过你确实应该注意一下表达问题,你自己很明白别人很糊涂,很难沟通的。
      

  6.   

    to sp1234() :不论是指哪台,你在Computer1上的试验失败都无法归咎于“服务器上的xmlhttp组件”的权限问题。因为出错的网页不是在Computer1上么?
    -------------------------------  WebServer上有WebApplication,是基于windows验证的  SPSServer上有SPSApplication,SPSApplication中的一个网页上有一段javascript代码,这段javascript代码上面已经给出,作用是无需弹出用户名和密码提示就打开WebServer上的一个网页。  现在要做的就是访问SPSApplication上的网页:
      1. 在WebServer这台机器上打开SPSApplication上面的一个网页,这个网页中上面已经描述了,包含了javascript代码,作用是无需弹出用户名和密码提示就打开WebServer上的一个网页。
         在这种情况下,相当于在WebServer上用javascript代码无验证的打开本机上的网页,这种情况下成功了。
      2. 在Computer1这台机器上打开SPSApplication上面的一个网页,这个网页中上面已经描述了,包含了javascript代码,作用是无需弹出用户名和密码提示就打开WebServer上的一个网页。
         在这种情况下,相当于在Computer1上用javascript代码无验证的打开WebServer机上的web应用程序,这种情况下失败了。失败的情况上面已经描述过。    请指教,谢谢
      

  7.   

    你的有些说法不是一个技术人员的思路。我们写一个访问远程访问程序,假设需要访问X计算机,那么X就是服务器,启动者就是客户机。如果你在X机器上执行这个程序,那么X既是服务器又是客户机,但是给说他的客户机角色的工作的时候决不要把它说成服务器,如果不能明确就只好像你最后这样多做注释。你的WebServer只能本地帐户默认登录,远程使用Guest用户之类的不能默认登录。这是很平常的现象,我也提醒过你设置虚拟目录的访问权限(也许用访问安全性这个词)。只是你一开头没说清楚“服务器”是何含义。