|
js跨域我用的比较多的就是jsonp和程序代理。但是jsonp只能用get,而且是js异步调用,有时候不能满足项目要求
下面的代码块是js调用一般处理程序的代理来实现js跨域的。如果js需要多次跨域,推荐下面的方法。
复制代码 代码如下: public string GetInfo(HttpContext context) { string post = "a=XX&b=XX"; return CreateHttpRequest("https://www.XXXX.com", post, "POST"); }
#region 构造请求 /// <summary> /// 构造请求 /// </summary> /// <param name="requestUrl">请求地址</param> /// <param name="requestParam">请求参数</param> /// <param name="requestMethod">请求方式</param> /// <returns></returns> public string CreateHttpRequest(string requestUrl, string requestParam, string requestMethod) { try { System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create(requestUrl) as System.Net.HttpWebRequest; request.Method = requestMethod; string post = requestParam;
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(post); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = bytes.Length; System.IO.Stream stream = request.GetRequestStream(); stream.Write(bytes, 0, bytes.Length); System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse; System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8); return sr.ReadToEnd(); } catch (Exception) { return ""; }
} #endregion
|
|