jquery调用ashx的问题

gekiranger 2013-09-10 07:24:56
jquery:
function hint_show() {

$.ajax({
type: "GET",
url: "../usercontrols/Void.ashx/ProcessRequest",
dataType: "html",
success: function (msg) {
}
});
}

ashx:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace cdc.usercontrols
{
/// <summary>
/// SendEmailVoid 的摘要说明
/// </summary>
public class Void : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.Write("<script>alert('调用成功!')</script>");
}
public bool IsReusable
{
get
{
return false;
}
}
}
}


测试过未能成功弹出对话框提示调用成功,究竟是哪里出现了问题?使用的是asp.net2012。个人感觉好像是没对变量context赋值的缘故,可是看过百度找来的范例貌似都不用对context进行赋值。另外请教下jquery调用ashx怎样进行传参和返回数据。初学者,貌似找不到相关比较详细的教程,请前辈多指教下,谢谢。
...全文
206 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
williamxia8 2014-04-28
  • 打赏
  • 举报
回复
如果我想判断返回一个True或False呢,如果是False我就不允许进入下一步
qianjunxian 2013-09-10
  • 打赏
  • 举报
回复
二楼正解。。。。。。。
  • 打赏
  • 举报
回复
2l已经回答
by_封爱 2013-09-10
  • 打赏
  • 举报
回复
第一种方式

 public void ProcessRequest(HttpContext context)
        {
            context.Response.Write("alert('调用成功!');");           
        }       

success: function (msg) {
            eval(msg);
        }
第二种方式

 public void ProcessRequest(HttpContext context)
        {
            context.Response.Write("调用成功");           
        }       

success: function (msg) {
          alert(msg);
        }
  • 打赏
  • 举报
回复
你对ajax原理不太清楚吧。 如果GET访问ashx文件成功。则你的success函数的返回值就是ashx文件的输出值。也就是你的msg就是返回值。 你没有调用msg肯定就无法弹出了。
  • 打赏
  • 举报
回复
引用 5 楼 gekiranger 的回复:
[quote=引用 1 楼 lifeilin6671 的回复:] 你对ajax原理不太清楚吧。 如果GET访问ashx文件成功。则你的success函数的返回值就是ashx文件的输出值。也就是你的msg就是返回值。 你没有调用msg肯定就无法弹出了。
这样意思的话,就是如果我用POST的话,就不用调用MSG了?我的确对AJAX的原理不太清楚,想找一些系统化的教程来学学,可是网上的教程都比较笼统而且起点很高,有什么比较好的教程可以介绍下吗?谢谢[/quote] 可以去w3cschool上看看。 其实ajax和普通的get以及post请求是差不多的。 只不过是ajax请求是异步的。 你用的jquery的ajax是别人封装的代码。不是javascript原生的实现方法。 建议你学习一下javascript原生代码是如何实现ajax的,这样你会理解比较深刻。
  • 打赏
  • 举报
回复
success: function (msg) { //调用成功 //TODO 自己的操作 } 括号内你调用ashx成功 之 后 需要执行的东西, msg即是返回的接受对象, 2L已经写好了
gekiranger 2013-09-10
  • 打赏
  • 举报
回复
引用 1 楼 lifeilin6671 的回复:
你对ajax原理不太清楚吧。 如果GET访问ashx文件成功。则你的success函数的返回值就是ashx文件的输出值。也就是你的msg就是返回值。 你没有调用msg肯定就无法弹出了。
这样意思的话,就是如果我用POST的话,就不用调用MSG了?我的确对AJAX的原理不太清楚,想找一些系统化的教程来学学,可是网上的教程都比较笼统而且起点很高,有什么比较好的教程可以介绍下吗?谢谢
秦始皇不抽烟 2013-09-10
  • 打赏
  • 举报
回复
context.Response.Write("<script>alert('调用成功!')</script>"); 这里返回一个值就可以了:context.Response.Write("1"); success: function (msg) { if(msg==1) { alert(‘’)} }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧