none
【AJAX】未能创建类型问题 RRS feed

  • 问题

  • 利用AJAX调用ashx页面的时候提示错误“未能创建类型” 问题是这样引起的由于要处理的aspx页面和被调用的ashx页面在同一级目录,利用AJAX调用没有任何问题。本人想把页面做一下规整。就在项目下新建了一个checkinfo文件夹。把要调用ashx页面放入了其中,并且在JS代码中引用好了修改后的路径,运行后出现这种错误,对这种问题无从下手,请高手帮忙~

    AJAX代码如下: objxml.open("GET","checkinfo/Checkemail.ashx?email=" + $('email').value,false);

    ashx代码如下:
    <%@ WebHandler Language="C#" Class="Checkemail" %>

    using System;
    using System.Web;
    using System.Data.SqlClient;

    public class checkusername : IHttpHandler {

        Application app = new Application();
       
        public void ProcessRequest (HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string email = context.Request.QueryString["email"].Trim().ToString().Replace("��", ""); //��为全角符号

                using (SqlConnection conn = OperateDB.GetConnection())
                {
                    conn.Open();
                    using (SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM tb_user WHERE email=@email", conn))
                    {
                        cmd.Parameters.AddWithValue("@email", email);
                        string sResult = Convert.ToString(cmd.ExecuteScalar());
                        context.Response.Clear();
                        if (sResult == "0") //说明数据库没有值 赋“1”
                        {
                            context.Response.Write("1");
                        }
                        else                 //数据库有值  赋“0”
                        {
                            context.Response.Write("0");
                        }

                    }
                }
           
            context.Response.End();
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }

    }

    页面路径如图:

    regedit.aspx调用js文件夹下的RegCheck.js执行AJAX方法调用checkinfo文件夹下的Checkemail.ashx出现该错误,如何解决?

    • 已移动 孟宪会Moderator 2010年1月16日 6:30 (发件人:.NET Framework 一般性问题讨论区)
    2010年1月15日 13:43

答案

  • 建议你重新新建ashx文件 把ashx和cs文件分开的 不要和合一块 试试看 觉得可能类型路径出问题了


    到现在还没弄明白是哪里出错。结果我新建一个,代码一句一句写,编译后没有问题,真无奈~好了结贴吧,不浪费时间了
    • 已标记为答案 jinwb1982 2010年1月16日 16:56
    2010年1月16日 16:56

全部回复

  • objxml.open("GET","../checkinfo/Checkemail.ashx?email=" ..................试试
    2010年1月16日 4:29
  • objxml.open("GET","../checkinfo/Checkemail.ashx?email=" ..................试试

    你好,这个我都试了,也不行,但是放回到项目根目录中却好用。继续求解!
    2010年1月16日 7:33
  • 建议你重新新建ashx文件 把ashx和cs文件分开的 不要和合一块 试试看 觉得可能类型路径出问题了

    2010年1月16日 7:42
  • 建议你重新新建ashx文件 把ashx和cs文件分开的 不要和合一块 试试看 觉得可能类型路径出问题了


    到现在还没弄明白是哪里出错。结果我新建一个,代码一句一句写,编译后没有问题,真无奈~好了结贴吧,不浪费时间了
    • 已标记为答案 jinwb1982 2010年1月16日 16:56
    2010年1月16日 16:56