通过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的具体使用方式,网上有很多相关的资料可以参考。这里就暂时做个记录,以后用到的话再具体分析。
参考资料: