用jquery中的$.get(),为什么ashx文件接收不到参数和信息

var url = "../Handler/ChangeCageName.ashx?caname=" + encodeURI(encodeURI(newText)) + "&caid=" + caid;
$.get(url, function(data)
{
if (data == "false")
{
//$("#test").text("类别修改失败,请检查是否类别名称重复!");
alert("类别修改失败");
// input_blur.trigger("focus").trigger("select"); // 文本框全选
}
else
{
alert("类别修改");
$("#test").text("");
objTD.html(newText);
}
});

在ASHX中
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";

string caid = context.Request.QueryString["caid"];
string caname = context.Server.UrlDecode(context.Request.QueryString["caname"]);
// 判断数据库中是否已经存在同名类别
if (new CategoryManager().IsExists(caname))
{
context.Response.Write("false");
return;
}
// 更改数据库类别名
Category ca = new Category(caid, caname);
bool b = new CategoryManager().Update(ca);
if (b)
{
context.Response.Write("true");
}
else
{
context.Response.Write("false");
}

}
我在ashx文件中设置了断点 发现运行后,根本就没跳到这个文件中来

jqeury方法中$.get()不是这么用的啊,前三个参数必须,$.get(url, '' , functin(data){}); 第二个参数如果为空也得带上的

但是URL中最好不要带参数,我建议你这样写:

var url = "../Handler/ChangeCageName.ashx?caname=" + encodeURI(encodeURI(newText)) + "&caid=" + caid;

$.get(url , {'caname':encodeURI(encodeURI(newText)), 'caid':caid} , function( data ){ '您的判断' });
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-26
你的方法最致命的原因是没有关闭response流。

在方法后面加上这2句,再看看就没问题了。
context.Response.Flush();
context.Response.End();

另外,前面那个return;的时候,不能直接就返回了。也加上上面2句
第2个回答  2010-07-25
可以在 ChangeCageName.ashx 设置断点调试一下
看看

用jquery中的$.get(),为什么ashx文件接收不到参数和信息
jqeury方法中$.get()不是这么用的啊,前三个参数必须,$.get(url, '' , functin(data){}); 第二个参数如果为空也得带上的 但是URL中最好不要带参数,我建议你这样写:var url = "..\/Handler\/ChangeCageName.ashx?caname=" + encodeURI(encodeURI(newText)) + "&caid=" + caid;....

ashx文件中为什么接收的参数都为空.(c# jquery json)
取不到的话,一般 就是编码的问题,你看看ASPX中的编码是否跟ASHX编码中一样,即最好都是UTF-8这样就不太会出现这种问题了。

ashx 数据返回得不到数据
你的ajax请求中设定了返回数据类型为"json",这表示脚本预期的响应MIME type为text\/json,并且致命的地方是,jQuery会将你的响应文本转换成json对象.而你的响应其实是一个plain text,并不符合json规范.这在某些浏览器中会抛出异常中断程序,所以你的success回调函数没有被执行.如果你将响应处的代码改为{"te...

jQuery中调用ashx文件的问题
类型:String 预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:"xml": ...

怎么使用jquery调用.ashx文件获取返回值
.ajax({ url:'\/你的ashx地址',...success:function(data){ \/\/data就是你ashx返回的数据 } })

安卓手机如何打开.ashx文件
1、先是到百度中下载一个 visual studio 软件,可以下载最新版的或者下载其他的版本,这个可以根据自己的电脑配置而定的。2、然后等待下载完成后,双击安装程序,安装visual studio软件,3、然后鼠标右键单击ashx文件,选择打开方式中的visual studio打开。4、最后就可以打开ashx文件了。

jquery 向ashx传值!
跟aspx一样传(附部分代码):("#list").jqGrid({ url:'InvStorageIn.ashx?opt=query',datatype:'json',mtype:'GET',height:'250px',colNames:['票据号码','类型编号','票据类型','状态编号','票据状态','入库登记人','登记日期'],...

...文件(.ashx文件)里读取数据后,如何把数据用jquery显示到页面_百度知 ...
get("handler.ashx", \/\/页面名 {param: "12", action: "getMessage"}, \/\/参数,JSON形式 function (data){ alert(data);\/\/回传函数 });} ); 还可以这样写 .get("handler.ashx?param=12&action=getMessage",null,function(){ } );当然,用POST也可以,详见JQUERY说明我就不再赘述了...

Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了。
Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了是设置错误造成的,解决方法为:1、打开HBuilderX工具,创建Web项目,新建静态页面ajax.html。2、打开已新建的ajax.html文件,引入jquery文件并修改title标签内容。3、在标签中,插入一个div标签,并在div标签中插入一个table。4、接着在项目...

关于asmx和ashx文件问题
1.不管用 asmx 还是 ashx 都可以设置返回的是什么数据,我更倾向于用 ashx+json,毕竟 json 要简洁很多。2.不管是 asmx 还是 ashx ,都是处理客户端请求的,每个客户端的 session 都不一样,做聊天室出锁的问题我认为是可以通过合理的功能+数据结构设计解决的,所以什么地方出现锁,什么问题出现锁,...

相似回答