C#实现Http请求和JS实现异步请求
1 #region 本页面要传递的流【传值】 2 System.Net.HttpWebRequest httpWebRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("请求地址");//提供 WebRequest 类的 HTTP 特定的实现。//传递Request.QueryString接收的值 3 httpWebRequest.Method = "POST";//Form传递方式 4 httpWebRequest.ContentType = "application/x-www-form-urlencoded"; //表头的格式必须要写,否则请求响应的页面得不到要传递的值 5 System.Net.CookieContainer cokie = new System.Net.CookieContainer(); 6 httpWebRequest.CookieContainer = cokie; 7 //要传递参数 8 StringBuilder sb = new StringBuilder(); 9 //sb.Append("usercode="+this.txt_UserCode.Value.ToString().Trim()); 10 //sb.Append("&password=" + this.txt_Secret.Value.ToString().Trim()); 11 //sb.Append("&strbutton=" + this.txt_Button.Value.ToString().Trim()); 12 sb.Append("serverName=OA"); 13 sb.Append("&msg=[" + strJSONInfo + "]"); 14 sb.Append("×tamp=" + strTime + ""); 15 // byte[] SomeBytes = System.Text.Encoding.Default.GetBytes(sb.ToString().Trim()); 16 byte[] SomeBytes = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(sb.ToString().Trim()); //获取与系统区域设置中的默认 ANSI 代码页相关联的编码,按照指定编码类型把字符串指定到指定的Byte数组 //传递Request.Form接收的值 17 //要传递参数end 18 httpWebRequest.ContentLength = SomeBytes.Length;//Content-lengthHTTP标头//传递的值,Request.Form[""]接收 19 System.IO.Stream newStream = httpWebRequest.GetRequestStream();//把传递的值写到“流”中 20 newStream.Write(SomeBytes, 0, SomeBytes.Length);//加入字节,而非覆盖 21 newStream.Close();//必须要关闭 请求 22 #endregion 23 24 #region 接收响应页面的流【收值】 25 System.Net.HttpWebResponse httpWebResponse = null; //提供 WebRequest 类的 HTTP 特定的实现。 26 httpWebResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse(); //返回资源响应 27 System.IO.Stream s = httpWebResponse.GetResponseStream(); 28 System.IO.StreamReader reader = new System.IO.StreamReader(s, System.Text.Encoding.UTF8);//System.Text.Encoding.UTF8编码方式为 29 string respHTML = reader.ReadToEnd(); 30 #region 仅“显示返回响应的值” 31 /* 32 Response.Clear();//清空输出的内容 33 Response.Write(respHTML);//在页面最上方加入 34 Response.End();//停止继续输出下面的内容[即:当前页面的输出内容] 35 */ 36 #endregion 37 #region 页面最上方 加入“显示返回响应的内容” 38 /* 39 Response.Write(respHTML);//在页面最上方加入 40 */ 41 #endregion 42 #region 页面指定位置 加入“显示返回响应的内容” 43 //respHTML; 44 #endregion 45 46 #endregion 47 s.Close();
JS代码实现
1 function addclick() { //点击触发addclick事件 2 3 $.ajax({ 4 type: "POST", //ajax的方式为post(get方式对传送数据长度有限制) 5 url: "地址", //一般处理程序页面 6 dataType: "json", //数据传回的格式为json 7 data: { serverName: "OA", msg: "[{\"appName\": \"MobileOA\", \"mid\": \"542139\", \"type\": \"中化化肥公司发文\", \"title\": \"关于李兵等同志党内职务任免的通知\", \"body\": \"经化肥中心党政联席会研究,决定:李兵同志担任HSE部党支部书记;\", \"toUserId\": \"hepingshi\"}]", timestamp: "2014-05-28 14:12:00" }, //要传送的数据 8 success: function(data) { //成功回传值后触发的方法 9 if (data != null) { 10 debugger //如果回传的json不为null或json中的IS键对应的值不为空,则触发一下代码,否则弹出“请重新尝试” 11 alert(data); 12 } 13 else { 14 alert("请重新尝试!"); 15 } 16 }, 17 error: function(msg) { 18 debugger; 19 alert(msg); 20 } 21 }) 22 }
两个实现方式一下
一点一滴 坚持,汇成知识的海洋~ 希望自己能进步!