$ .ajax不使用IE并与Mozilla一起正常工作

时间:2011-10-13 10:27:09

标签: jquery client-side-scripting

我有一个以下代码,可以与Mozilla运行良好,但给对象未定义错误 在IE上运行时

这是代码

 $(document).ready(function () {
           $("#button").click(function () {

               $.ajax({
                   type: "POST",
                   beforeSend: function (xhr) {
                       xhr.setRequestHeader("Content-type",
                     "application/json; charset=utf-8");
                   },
                   data: "{'customerid':" + "'" + $("#check").val + "'}",
                   url: "ajaxcall.aspx/checkval",
                   success: function (data) {
                       var c = data.d;
                       alert("success");
                       $("#result").html("day:" + c.seconds);
                   }
               });


           });
       });

现在我已经改变了我的服务器端c#代码 使用json序列化的checkval函数

Mydate md = new Mydate();
        md.day = DateTime.Now.Day.ToString();
        md.month = DateTime.Now.Month.ToString();
        md.year = DateTime.Now.Year.ToString();
        md.seconds = DateTime.Now.Second.ToString();

        JavaScriptSerializer js = new JavaScriptSerializer();
       return js.Serialize(md);

现在代码在IE中工作,但只显示字符串

  

{ “月”: “10”, “年”: “2011”, “天”: “13”, “秒”: “44”}   而不是与Mozilaa合作

     如果我只写c,那么

代替c.seconds   在此代码中

     

$(“#result”)。html(“day:”+ c.seconds);

它适用于所有浏览器,但结果是

  

{ “月”: “10”, “年”: “2011”, “天”: “13”, “秒”: “44”}

仍然没有得到我需要的东西

这是我得到它的答案 代替这个

                   var c = data.d;
                   alert("success");
                   $("#result").html("day:" + c.seconds);

                   var mydata = $.parseJSON(data.d);
                   $("#result").html(mydata.seconds);
  

这将适用于IE和Mozilla

1 个答案:

答案 0 :(得分:0)

data中可能只是一个小错字:"{'customerid':" + "'" + $("#check").val + "'}"

您是否尝试过$("#check").val()