关于javascript访问Webservice跨域问题
一、开发环境:Asp.net 2008  
二、问题描述:
     使用基础的xmlHttpRequest访问Webservice,此Webservice是基于.net的用IIS发布的。如果使用基础xmlHttpRequest的AJax访问localhost的webservice可以访问到。  
     例如:
        var _webserviceUrl='http://localhost/DemoWebservice/DemoService.asmx';
        var xhr= new window.XMLHttpRequest();
        xhr.open("POST", _webserviceUrl, false);
        ……
        xhr.send(_data);
     可以正常的访问到      
     但是将localhost换成本机的IP地址,如:192.168.0.201,运行到 xhr.send()方法时就报:“拒绝访问”。更不用说局域网内的其他机器了。
     后来搜索了一下,好像是js跨域的问题。
三、现在的疑问:
     遇到这种js跨域访问webservice有什么解决方法呢?  
     好像看到一种是使用 代理 的方式来解决的,请问具体如何操作呢? 实在不了解。 请哪位明白人指教下,讲解一下具体的思路,可以的话给点关键性的代码、或者是相关网站。
      十分感谢您的关注和帮助。       
------解决方案--------------------
only to be reference------------------------------
protected void Page_Load(object sender, EventArgs e)
   {
       if (Request["WEB"] != null)
       {
           Response.Clear();
           //Response.AppendHeader("Content-type", "text/xml;charset=GB2312");
           System.Net.HttpWebResponse rs = (System.Net.HttpWebResponse)System.Net.HttpWebRequest.Create(Request["WEB"]).GetResponse();
           System.IO.StreamReader sr = new System.IO.StreamReader(rs.GetResponseStream(), System.Text.Encoding.Default);
           Response.Write(sr.ReadToEnd());
           Response.End();
       }
   }
Default.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
   <title>通过JS获取异步数据</title>
   <script language="javascript" type="text/javascript">
       var xmlHttp=null;
       var xmlDom =null;
       var xslDom =null;      
       function send()
       {
           xmlHttp=new ActiveXObject("MSXML2.XMLHTTP");
           xmlDom =new ActiveXObject("MSXML2.DOMDocument");          
           //xmlHttp.onreadystatechange=doHttpReadyStateChange;
           xmlHttp.open("POST","/XmlHttp/GetData.aspx?WEB=http://www.163.com",false);
           xmlHttp.send("");
           result=xmlHttp.responseText;
           //alert(result);
//            xmlDom.loadXML(result);
//            items1=xmlDom.selectNodes("//NewDataSet/FriendLink/vc_LinkName");
//            alert(items1.length);
//            for(i=0;i<items1.length;i++)
//            {
//                TextArea1.value+=items1(i).text;
//            }
           document.write(xmlHttp.responseText);
       }      
       function doHttpReadyStateChange()
       {
           if(xmlHttp.readyState==4)
           {
               TextArea1.value+=xmlHttp.responseText;
           }
       }
   </script>
</head>
<body>
   <input id="Button1" type="button" value="提交" onclick="send();" />
   <br />
   <br />
   <br />
   <textarea id="TextArea1" style="width: 925px; height: 441px"></textarea>
</body>
</html>
------解决方案--------------------强悍,纯粹帮顶
------解决方案--------------------
just for reference
Javascript跨域访问解决方案
http://blog.csdn.net/lovingprince/archive/2008/09/20/2954675