最近、何かに取り組んでいたときに、Ajax クロスドメイン アクセスの問題に遭遇しました。最終的に、アプリケーション プロキシ方法を採用して、このドメインにプロキシ ファイルを配置しました (サポートされている開発言語に応じて)。このプロキシ ファイルは、URL パラメーター (QueryString) をターゲット ドメインの対応するページに送信して HTML コードを取得し、出力します。 Ajax は、クロスドメインの目的を達成するために、このプロキシ ファイルに直接アクセスします。 asp.net に基づくクロスドメイン アクセス プロキシ ファイルの C# コードは次のとおりです: @ ページ言語="C#"AutoEventWireup="true" ResponseEncoding="utf-8" %> @ インポート名前空間=System.Net %> @ インポート名前空間=System.IO %> スクリプト runat="サーバー"> 保護 オーバーライド void OnLoad(EventArgs e) { base.OnLoad(e); 文字列sourceUrl = "http://devspy.net "; this.Page.Response.Write(TransferHtmlPage(string.Concat(sourceUrl, " ?",this.Page.Request.QueryString))); } public string TransferHtmlPage(string url) { 文字列結果=文字列.Empty; 試してみる { HttpWebRequest リクエスト = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader リーダー = new StreamReader(response.GetResponseStream(), Encoding.UTF8); 結果 = reader.ReadToEnd(); } キャッチ(例外例) { return string.Format(@"serverファイル コンテンツの取得エラー: {0}"、例:Message); } if (!CheckVersionWaterMark(result)) return @"バージョンのウォーターマークが無効です。関連する技術担当者にお問い合わせください。"; 結果を返す; } public bool CheckVersionWaterMark(string inputString) { return true;//ウォーターマークは検証されていません //文字列パターン = "WaterMark"; //return Regex.IsMatch(inputString, pattern, RegexOptions.IgnoreCase); } スクリプト> ASP および php に基づく実装もありますが、これらはリストされていません。興味がある場合は、次の 3 つのファイルを含む圧縮パッケージをダウンロードできます。 http://files.cnblogs.com/cncxz/ajaxProxy.rar