通過C#后台實現跨域請求


  因為項目中需要對第三方的站點進行跨域請求,原來常用的Jquery的Ajax方法不能夠實現跨域請求。在網上查找了一下資料,解決跨域請求的方式有不少,但是還需要根據自己的具體情況來做出不同的選擇。在項目中我使用的是直接通過C#后台發送請求來實現跨域訪問(后台消耗會增大),下面是請求的源碼:

 1    string URL = "www.xxx.com";
 2    public void sendPost(string urlArgs,HttpContext context)
 3    {
 4        //context.Request["args"]
 5        System.Net.WebClient wCient = new System.Net.WebClient();
 6        wCient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
 7        byte[] postData = System.Text.Encoding.ASCII.GetBytes("id=" + urlArgs);
 8 
 9        byte[] responseData = wCient.UploadData(URL, "POST", postData);
10 
11        string returnStr = System.Text.Encoding.UTF8.GetString(responseData);//返回接受的數據 
12 
13        context.Response.ContentType = "text/plain";
14        context.Response.Write(returnStr);
15    }

除了上面的方法還有可以使用JSONP來實現,具體應用JSONP實現Json數據跨域調用,需要服務器端與客戶端的合作完成。關於JSONP的具體使用方式,網上有很多相關的資料可以參考。這里就暫時做個記錄,以后用到的話再具體分析。

 

參考資料:

JSONP

JS跨域請求

跨域請求(XDR)簡介

輕松利用Jquery實現Ajax跨域訪問


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM