日期:2014-05-17  浏览次数:20374 次

请高手帮解答下!!!关于AJAX的问题
请教大家一个问题:我用.ashx文件获取验证码的值然后与ajax实现无刷新验证“验证码”是否输入正确。我想再让.ashx返回一个值,以验证用户名是否重复,但好像一个.ashx文件只能返一个值。用什么才可以返回多个方法的值?如:一个文件返回两个值一个是验证码,一个是查询用户名在数据库中是否重复的值,在前台根据所需去不同的值,既能验证“验证码”,又能验证用户名


请高手帮解答下,不胜感激~!!!!

------解决方案--------------------
……不是很简单么 请求的时候附带一个参数
然后在服务端不就是一个if else么……
------解决方案--------------------
直接把验证码和用户名都传进去不就得了??
验证结果返回空就代表通过了,返回具体内如 比如 验证码不对或者用户名已存在 代表验证不通过,就这么简单,何必想那么复杂呢
------解决方案--------------------
完全不知所云

ajax 服务器响应的是请求 跟事件有什么关系?
你在客户端请求的任何值理论上都可以用一个ashx来提供(不考虑性能)

或者你最好解释一下你所谓的“事件”指什么玩意?
------解决方案--------------------
C# code
public class xxxxx : IHttpHandler
    {
        private string TYPE
        {
            get
            {
                HttpRequest Request = HttpContext.Current.Request;
                if (Request["type"] != null)
                {
                    return Convert.ToString(Request["type"]);
                }
                return string.Empty;
            }
        }

        private string OTHER_PARAMETER
        {
            get
            {
                HttpRequest Request = HttpContext.Current.Request;
                if (Request["...."] != null)
                {
                    return Convert.ToString(Request["....."]);
                }
                return string.Empty;
            }
        }
        ..........

        public void ProcessRequest(HttpContext context){
                  switch(TYPE){
                       case "......":
                          ........... //处理
                          break;
                       case ".....":
                          .......... //处理
                          break;
                       ........
                  }
        }
        ........

------解决方案--------------------
最简单的传回个字符串,把两个结果用逗号隔开,页面再去解析

传回个json对象不就可以了
------解决方案--------------------
为什么不用webservice呢
------解决方案--------------------
ashx中一个请求返回一个字符串没错,你如果要处理两个结果返回,你可以两个结果中间用标识(如逗号)标识一下返回,在客户端处理不就OK!