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

ASP.NET後台代碼實現XmlHttp跨域訪問

編輯:關於ASP.NET

最近項目需要實現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;
}
}
}
}
}
}

VBR.xml:

<?xml version="1.0"?>
<root>
</root>

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