$("#btn1").bind("click", function () {
$.ajax({
type: "POST",
// dataType: "text",
async: false,
cache: false,
url: "/AdminLogin/NewsAddHandler.ashx?op=PageStartLoading&todo=LoadingList",
success: function (data) {
alert(data);
if (data == "a") {
alert("数据库查询成功");
} else if (data == 0) {
alert("数据库查询不成功")
} else {
alert("都没有什么");
}
}
});
});
public class NewsAddHandler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string Operation = context.Request.Form["op"];
if ("PageStartLoading".Equals(Operation))
{
string ToDo = context.Request.Form["do"];
if ("LoadingList".Equals(ToDo)) {
//开始取出NewsList里面已有数据
string ListSql = "select * from NewsList where delsign=1";
DataSet ListDS = manager.connstr.DataAdapter(ListSql);
if (ListDS.Tables.Count > 0)
{
string ListJson = FormatToJson.ToJson(ListDS);
context.Response.Clear();
context.Response.Write(1);
context.Response.End();
}
else
{
context.Response.Write(2);
}
}
}
}
25 个解决方案
#1
debug进去看一下的了,
应该是if ("PageStartLoading".Equals(Operation))这个判断为false了,所以才什么都不做的
换成
string Operation = context.Request.QueryString["op"]
试试
应该是if ("PageStartLoading".Equals(Operation))这个判断为false了,所以才什么都不做的
换成
string Operation = context.Request.QueryString["op"]
试试
#2
你代码获取的是 do
string ToDo = context.Request.Form["do"];
而你js里面传的参数是 todo
url: "/AdminLogin/NewsAddHandler.ashx?op=PageStartLoading&todo=LoadingList",
#3
的确是什么都没做,但是我改成QueryString了,还是取不到op
#4
这个问题的确是存在,谢谢。
但是不能解决我问的问题。
十分感激
#5
断点看出来时那条语句报错的?
#6
把Jquery,Ajax的error:function(e)
{
alert(e);
}
加上看报什么错没。。
{
alert(e);
}
加上看报什么错没。。
#7
context.Request.Form换成 context.Request.QueryString,重新生成下在试试,其他的没什么问题
#8
没进到if条件里去把。。调试下看看
#9
我对jQuery不熟悉,所以Ajax我都是用自己写的JavaScript封装
我看了下楼主的代码
$.ajax({ type: "POST",
我分析了下,楼主,你尝试换 type: "GET", 然后在服务端改成Quering["od"].ToString()来获取一下看看
如果能获取到值,则说明可能是使用POST方式时,不能通过URL带值
我看了下楼主的代码
$.ajax({ type: "POST",
我分析了下,楼主,你尝试换 type: "GET", 然后在服务端改成Quering["od"].ToString()来获取一下看看
如果能获取到值,则说明可能是使用POST方式时,不能通过URL带值
#10
监视下请求看看状态码
#11
type: "POST"改成type: "GET",context.Request.Form改成context.Request.QueryString
你用GET传参的方式去POST,可能取不到值吧
你用GET传参的方式去POST,可能取不到值吧
#12
type: 'post',
{ todo : ”LoadingList“ },
{ todo : ”LoadingList“ },
#13
我前几天也在做这个
我也遇到这个问题
我的问题出在传值的时候传了个乱码
然后再后台取到的乱码不能查询出对应的数据库数据
所以返回空..
还有 不要用 ?id=... 这样来传值
用data:{id:id} 这样 如果是传值乱码的问题 把post改成get试试 只要取到值了 无论是不是乱码 就好解决了
如果有需要你可以回复我 我给你我的代码..
我也遇到这个问题
我的问题出在传值的时候传了个乱码
然后再后台取到的乱码不能查询出对应的数据库数据
所以返回空..
还有 不要用 ?id=... 这样来传值
用data:{id:id} 这样 如果是传值乱码的问题 把post改成get试试 只要取到值了 无论是不是乱码 就好解决了
如果有需要你可以回复我 我给你我的代码..
#14
打个断点进去看看
#15
ASHX是不方便打断点调试的- - 方便调试就不会那么麻烦咯
#16
谁说ashx不方便断点的。。。。。。。。。。。
#17
ASHX是不方便打断点调试的- - 方便调试就不会那么麻烦咯
打个断点进去看看
谁说ashx不方便断点的。。。。。。。。。。。
#18
我不会呀-,- ASHX是不方便打断点调试的- - 方便调试就不会那么麻烦咯
打个断点进去看看
谁说ashx不方便断点的。。。。。。。。。。。
#19
context.Response.End();
去掉。
去掉。
#20
1.查看url是否正确
2.查看success方法里面的alert是否有弹出消息,没有说明ajax有错误。
2.查看success方法里面的alert是否有弹出消息,没有说明ajax有错误。
#21
string Operation = context.Request.Form["op"];
string ToDo = context.Request.Form["todo"];
改成
string Operation = context.Request["op"];
string ToDo = context.Request["todo"];
string ToDo = context.Request.Form["todo"];
改成
string Operation = context.Request["op"];
string ToDo = context.Request["todo"];
#22
最简单 直接的方法 打断点 调试就可以了!!!
#23
url: "/AdminLogin/NewsAddHandler.ashx?op=PageStartLoading&todo=LoadingList",
string ToDo = context.Request.Form["do"];
很明显的不匹配,另外你应该是查询参数的方式,怎么能使用Request.Form
string ToDo = context.Request.Form["do"];
很明显的不匹配,另外你应该是查询参数的方式,怎么能使用Request.Form
#24
我很纳闷你写的代码为什么if不写完呢,这样你不用调试也可以知道代码运行到哪里了呀。
#25
不是应该这样吗:
url: "/AdminLogin/NewsAddHandler.ashx",
data: "n=" + m,
url: "/AdminLogin/NewsAddHandler.ashx",
data: "n=" + m,
#1
debug进去看一下的了,
应该是if ("PageStartLoading".Equals(Operation))这个判断为false了,所以才什么都不做的
换成
string Operation = context.Request.QueryString["op"]
试试
应该是if ("PageStartLoading".Equals(Operation))这个判断为false了,所以才什么都不做的
换成
string Operation = context.Request.QueryString["op"]
试试
#2
你代码获取的是 do
string ToDo = context.Request.Form["do"];
而你js里面传的参数是 todo
url: "/AdminLogin/NewsAddHandler.ashx?op=PageStartLoading&todo=LoadingList",
#3
debug进去看一下的了,
应该是if ("PageStartLoading".Equals(Operation))这个判断为false了,所以才什么都不做的
换成
string Operation = context.Request.QueryString["op"]
试试
的确是什么都没做,但是我改成QueryString了,还是取不到op
#4
你代码获取的是 do
string ToDo = context.Request.Form["do"];
而你js里面传的参数是 todourl: "/AdminLogin/NewsAddHandler.ashx?op=PageStartLoading&todo=LoadingList",
这个问题的确是存在,谢谢。
但是不能解决我问的问题。
十分感激
#5
debug进去看一下的了,
应该是if ("PageStartLoading".Equals(Operation))这个判断为false了,所以才什么都不做的
换成
string Operation = context.Request.QueryString["op"]
试试
断点看出来时那条语句报错的?
#6
把Jquery,Ajax的error:function(e)
{
alert(e);
}
加上看报什么错没。。
{
alert(e);
}
加上看报什么错没。。
#7
context.Request.Form换成 context.Request.QueryString,重新生成下在试试,其他的没什么问题
#8
没进到if条件里去把。。调试下看看
#9
我对jQuery不熟悉,所以Ajax我都是用自己写的JavaScript封装
我看了下楼主的代码
$.ajax({ type: "POST",
我分析了下,楼主,你尝试换 type: "GET", 然后在服务端改成Quering["od"].ToString()来获取一下看看
如果能获取到值,则说明可能是使用POST方式时,不能通过URL带值
我看了下楼主的代码
$.ajax({ type: "POST",
我分析了下,楼主,你尝试换 type: "GET", 然后在服务端改成Quering["od"].ToString()来获取一下看看
如果能获取到值,则说明可能是使用POST方式时,不能通过URL带值
#10
监视下请求看看状态码
#11
type: "POST"改成type: "GET",context.Request.Form改成context.Request.QueryString
你用GET传参的方式去POST,可能取不到值吧
你用GET传参的方式去POST,可能取不到值吧
#12
type: 'post',
{ todo : ”LoadingList“ },
{ todo : ”LoadingList“ },
#13
我前几天也在做这个
我也遇到这个问题
我的问题出在传值的时候传了个乱码
然后再后台取到的乱码不能查询出对应的数据库数据
所以返回空..
还有 不要用 ?id=... 这样来传值
用data:{id:id} 这样 如果是传值乱码的问题 把post改成get试试 只要取到值了 无论是不是乱码 就好解决了
如果有需要你可以回复我 我给你我的代码..
我也遇到这个问题
我的问题出在传值的时候传了个乱码
然后再后台取到的乱码不能查询出对应的数据库数据
所以返回空..
还有 不要用 ?id=... 这样来传值
用data:{id:id} 这样 如果是传值乱码的问题 把post改成get试试 只要取到值了 无论是不是乱码 就好解决了
如果有需要你可以回复我 我给你我的代码..
#14
打个断点进去看看
#15
打个断点进去看看
#16
ASHX是不方便打断点调试的- - 方便调试就不会那么麻烦咯
打个断点进去看看
谁说ashx不方便断点的。。。。。。。。。。。
#17
ASHX是不方便打断点调试的- - 方便调试就不会那么麻烦咯
打个断点进去看看
谁说ashx不方便断点的。。。。。。。。。。。
#18
我不会呀-,- ASHX是不方便打断点调试的- - 方便调试就不会那么麻烦咯
打个断点进去看看
谁说ashx不方便断点的。。。。。。。。。。。
#19
context.Response.End();
去掉。
去掉。
#20
1.查看url是否正确
2.查看success方法里面的alert是否有弹出消息,没有说明ajax有错误。
2.查看success方法里面的alert是否有弹出消息,没有说明ajax有错误。
#21
string Operation = context.Request.Form["op"];
string ToDo = context.Request.Form["todo"];
改成
string Operation = context.Request["op"];
string ToDo = context.Request["todo"];
string ToDo = context.Request.Form["todo"];
改成
string Operation = context.Request["op"];
string ToDo = context.Request["todo"];
#22
最简单 直接的方法 打断点 调试就可以了!!!
#23
url: "/AdminLogin/NewsAddHandler.ashx?op=PageStartLoading&todo=LoadingList",
string ToDo = context.Request.Form["do"];
很明显的不匹配,另外你应该是查询参数的方式,怎么能使用Request.Form
string ToDo = context.Request.Form["do"];
很明显的不匹配,另外你应该是查询参数的方式,怎么能使用Request.Form
#24
我很纳闷你写的代码为什么if不写完呢,这样你不用调试也可以知道代码运行到哪里了呀。
#25
不是应该这样吗:
url: "/AdminLogin/NewsAddHandler.ashx",
data: "n=" + m,
url: "/AdminLogin/NewsAddHandler.ashx",
data: "n=" + m,