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("&timestamp=" + 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();
View Code

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         }
View Code

 


两个实现方式一下

posted @ 2014-07-04 14:23  LuckyZ  阅读(1043)  评论(0编辑  收藏  举报