程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C# IE8.0 跨域,采用服務器端代碼

C# IE8.0 跨域,采用服務器端代碼

編輯:關於C#
 

最近項目需要實現XmlHttp的POST方法到另一服務器上的頁面進行數據的更新,可是IE會提出“該頁正在訪問其控制范圍之外的信息,是否繼續?”等警告信息,而在其他浏覽器上直接禁止掉,GOOGLE一下原來是XmlHttp的跨域訪問問題,找了很多資料,說是提供很多解決方案,可是都沒有用處。
  原來由於浏覽器的安全限制,網絡連接的跨域訪問時不被允許的。我們不能在浏覽器端直接使用AJAX來跨域訪問資源,但是在服務器端是沒有這種跨域安全限制的。所以,我們只需要讓服務器端幫我們完成“跨域訪問”的工作,然後直接獲取服務器端“跨域訪問”的結果就可以了。分享下我的解決辦法,希望能有所幫助。^_^

  CertCheck.aspx:

  using MSXML2;

  namespace CA2

  {

  public partial class CertCheck : System.Web.UI.Page

  {

  protected void Page_Load(object sender, EventArgs e)

  {

  if (Request["resultid"] != null)

  {

  string s = Request["resultid"];

  string[] result = s.Split('@');

  Label1.Text = result[1];

  System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();

  xmlDoc.Load("VBR.xml");

  System.Xml.XmlElement RegNode = xmlDoc.CreateElement("Id");

  RegNode.InnerText = result[0];

  xmlDoc.DocumentElement.AppendChild(RegNode);

  RegNode = xmlDoc.CreateElement("Serial");

  RegNode.InnerText = result[1];

  xmlDoc.DocumentElement.AppendChild(RegNode);

  MSXML2.XMLHTTP xh = new MSXML2.XMLHTTPClass();

  xh.open("POST", "http://222.19.211.119/CAProcess.aspx", false, null, null);

  xh.setRequestHeader("Content-Type", "text/xml");

  xh.setRequestHeader("Content-Type", "gb2312");

  xh.send(xmlDoc.InnerXml);

  if (xh.readyState == 4)

  {

  if (xh.status == 200)

  {

  Label1.Text += "###" + xh.responseText;

  }

  }

  }

  }

  }

  }
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved