(.NET)求教POST问题,自己写的POST 处理页面报错:“未实例化"
时间:2011-06-08
来源:互联网
JScript code
//创建AJAX连接 var XmlHttp=false; function Create() { try { XmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { XmlHttp = new ActiveXObject("Microsoft.XMLHTTP") } catch (e2) { return false; } } } //这个是点击一个按钮后触发的事件 $("#btn_login").click(function() { Create(); var url = "IndexLoginDemo.aspx"; var content = "U_Name=" + $("#tb_UserName").val() + "&Pwd=" + $("#tb_UserPwd").val(); XmlHttp.open("POST", url, true); XmlHttp.setRequestHeader("Content-Tyle", "application/x-www-form-urlencoded"); XmlHttp.onreadystatechange = CallBack_IndexLogin; alert(content); alert(url); XmlHttp.send(content); }); //回调函数 function CallBack_IndexLogin() { if (XmlHttp.readyState==4) { if (XmlHttp.status == 200) { var Message = XmlHttp.responseText; alert(Message); } } } //
下面是处理页面的代码
C# code
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server" type="text/C#"> protected void Page_Load(object sender, EventArgs e) { string UserName = Request.Form.Get("U_Name").ToString();//这个地方提示未实例化 string UserPwd = Request.Form.Get("Pwd").ToString(); WriteMessage(UserName+UserPwd); // } protected void WriteMessage(string isMessage) { Response.Clear(); Response.Write(isMessage); Response.Flush(); var a = Request.InputStream; } </script>
求解答,介到底是肿么了。感激不尽
作者: xym201105 发布时间: 2011-06-08
Request.Form["U_name"].ToString();
作者: inetfuture 发布时间: 2011-06-08
作者: xym201105 发布时间: 2011-06-08
我试过 不好用的 Request.Form[];Request[];我都试过,全部都不好用 悲剧啊
那就是数据没有post过来
作者: inetfuture 发布时间: 2011-06-08
作者: xym201105 发布时间: 2011-06-08
作者: inetfuture 发布时间: 2011-06-08
作者: xym201105 发布时间: 2011-06-08
作者: xym201105 发布时间: 2011-06-08
作者: inetfuture 发布时间: 2011-06-08
作者: xym201105 发布时间: 2011-06-08
//我给你稍改了下 var XmlHttp = null; function Create() { if (window.XMLHttpRequest) { XmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { XmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); } } //这个是点击一个按钮后触发的事件 $(document).ready(function() { $("#btn_login").click(function() { Create(); var url = "Handler.ashx"; var content = "U_Name=" + $("#tb_UserName").val() + "&Pwd=" + $("#tb_UserPwd").val(); XmlHttp.open("POST", url, true); XmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //Content-Type而不是Content-Tyle XmlHttp.onreadystatechange = CallBack_IndexLogin; XmlHttp.send(content); }); });
另外你post的页面不该是一个aspx页面,建议你用ashx页面处理,我写一个,如下:
C# code
<%@ WebHandler Language="C#" Class="Handler" %> using System; using System.Web; public class Handler : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; string UserName = context.Request["U_Name"].ToString(); string UserPwd = context.Request["Pwd"].ToString(); WriteMessage(context,UserName + UserPwd); // } protected void WriteMessage(HttpContext context, string isMessage) { context.Response.Clear(); context.Response.Write(isMessage); context.Response.Flush(); var a = context.Request.InputStream; } public bool IsReusable { get { return false; } } }
你的报错原因是首次加载并不会有post的数据过来,所以会出错,
作者: NianHui 发布时间: 2011-06-08
如果出错调试下,看你 var content = "U_Name=" + $("#tb_UserName").val() + "&Pwd=" + $("#tb_UserPwd").val();这个content到底是正确没
alert(content);
作者: zhouyuqwert 发布时间: 2011-06-08
JScript code
//我给你稍改了下
var XmlHttp = null;
function Create() {
if (window.XMLHttpRequest) {
XmlHttp = new XMLHttpRequest();
}
else if (window.ActiveXObject)……
asp页面或者ashx处理程序都是可以接收的。。。ashx是一般处理程序,不是页面
作者: zhouyuqwert 发布时间: 2011-06-08
C# code
protected void Page_Load(object sender, EventArgs e) { if (Request.Form["U_Name"] != null && Request.Form["Pwd"] != null) { string UserName = Request.Form["U_Name"].ToString();//这个地方提示未实例化 string UserPwd = Request.Form["Pwd"].ToString(); WriteMessage(UserName + UserPwd); // } }
作者: NianHui 发布时间: 2011-06-08
JScript code
//我给你稍改了下
var XmlHttp = null;
function Create() {
if (window.XMLHttpRequest) {
XmlHttp = new XMLHttpRequest();
}
else if (window.ActiveXO……
非常感谢!!!! 解决问题了 ,想问你一个问题。
就是ashx主要是什么用途和概念。 还有那个context主要是管什么的啊? 麻烦你再帮我解答解答。谢谢了
作者: xym201105 发布时间: 2011-06-08
引用 10 楼 nianhui 的回复:
asp页面或者ashx处理程序都是可以接收的。。。ashx是一般处理程序,不是页面
呵呵,我说错了,不是ashx页面,是一般处理程序。
我是没见过用aspx页面接受的,太浪费了
作者: NianHui 发布时间: 2011-06-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28