我有一个ajax请求在vs服务器下能够正常获取到数据并且给梅花雪的日历控件变换样式
大概代码是 $.ajax({
                type: "POST",
                url: "Handler1.ashx",
                data: "rid=" + rrid + "&sid=" + ssid,
                dataType: "json",
                success: function (result) {
                    var lstDate = new Array();
                    var lstJieguo = new Array();
                    for (i = 0; i < result.length; i++) {
                        lstDate.push(result[i].date);
                        lstJieguo.push(result[i].jieguo);
                    }
                    WebCalendar.datt = lstDate;
                    WebCalendar.ddtt = lstJieguo;
                    setColor();
                }
            });
在本地vs的服务器下运行是完全正常的。
但是代码上传到iis服务器之后运行该功能的时候就只是显示一个梅花雪日历控件没有任何变换样式的功能了
不知道是不是iis服务器配置的问题!
请高手指教啊
急急急急急急急急急急急急急急急急急急急急急急

解决方案 »

  1.   

    有可能是IIS配置的问题
    看看HTT头中的MIME类型,去掉*.*,再重启一下试试
      

  2.   

    能不能说的详细点 iis7.0不是很熟
      

  3.   

    打开IIS管理器,在默认网站上点击鼠标右键→属性→HTTP头→MIME类型
      

  4.   

     public class Handler1 : IHttpHandler
        {        public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/josn";
                int rid = Convert.ToInt32(context.Request.Params["rid"].ToString());
                int sid = Convert.ToInt32(context.Request.Params["sid"].ToString());
                 CH.Entities.PackageType typeInfo = CH.Service.PackageTypeService.GetPackageTypeByWhereClip(CH.Entities.PackageType._.ID == 7);
                List<aaa> list = new List<aaa>();
                DateTime dt1 = typeInfo.StartTime;
                DateTime dt2 = typeInfo.EndTime;
                DateTime temp = dt1;
                List<DateTime> listdate = new List<DateTime>();
                listdate.Add(dt1);
                for (; temp < dt2; temp.AddDays(1))
                {
                        temp = temp.AddDays(1);
                        listdate.Add(temp);
                }
                for (int i = 0; i < listdate.Count; i++)
                {
                    aaa info = new aaa();
                    info.date = ConvertDate(listdate[i].ToString().Split(' ')[0]);
                    string a = listdate[i].ToString().Split(' ')[0];
                    info.jieguo = CH.Service.OrderInfoService.GetInfo(rid, sid, Convert.ToDateTime(a));
                    list.Add(info);
                }
                context.Response.Write(JSONHelper.ToJSON(list));
                context.Response.End();
               
            }        public string ConvertDate(string date)
            {
                string a = date.Split('-')[0];
                string b = date.Split('-')[1];
                string c = date.Split('-')[2];
                return c + "/" + b + "/" + a;
            }        public class aaa
            {
                public string date { get; set; }
                public int jieguo { get; set; }
            }
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    这是handle
    function aaa(obj)
    {
                var ssid = 1;
                var rrid = obj;
                $.ajax({
                    type: "POST",
                    url: "Handler1.ashx",
                    data: "rid=" + rrid + "&sid=" + ssid,
                    dataType: "json",
                    success: function (result) {
                        var lstDate = new Array();
                        var lstJieguo = new Array();
                        for (i = 0; i < result.length; i++) {
                            lstDate.push(result[i].date);
                            lstJieguo.push(result[i].jieguo);
                        }
                        WebCalendar.datt = lstDate;
                        WebCalendar.ddtt = lstJieguo;
                        setColor();
                    }
                });
        
        calendar();
    }
    calendar是调用日期控件WebCalendar.datt是返回给日期控件的数组WebCalendar.ddtt是一个int数组
      for(var j=0;j<WebCalendar.datt.length;j++)
           {
                if(WebCalendar.day[i]==WebCalendar.datt[j])
                {
                    if(WebCalendar.ddtt[j]=="1")
                    {
                      WebCalendar.dayObj[i].className="checkedDay"; 
                      }
                      else
                      {
                      WebCalendar.dayObj[i].className="Today"; 
                      }
                }
           }
    这是变换className的代码 
      

  5.   

    我就搞不懂了 为什么vs服务器下可以完全正常运行,然后在服务器上就只有calendar()这个方法起作用了呢????
      

  6.   

    用ie中的调试JS的功能,调试一下。
      

  7.   

    貌似是js有点错误 vs服务器忽略了 iis服务器没忽略
      

  8.   

    首先一点,直接用URL访问你的AJAX请求,即直接访问Handler1.ashx页并穿get参数,看返回结果是否正常,
    若正常,则用IE8按F12点脚本调试看是哪里的问题
      

  9.   

    Handler 还可以直接访问啊???
      

  10.   

    额 西门大官人 spl威武 求解答