$ .ajax не работает с IE и работает нормально с Mozilla - PullRequest
0 голосов
/ 13 октября 2011

у меня есть следующий код, который отлично работает с 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 serialization

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, но показывает строку только как

{"month": "10", "year": "2011 "," day ":" 13 "," seconds ":" 44 "} и не работают с Mozilaa

вместо c.seconds, если я пишу c только в этом коде

$ ("# result"). html ("day:" + c.seconds);

работает для всех браузеров, но результат равен

{"month":" 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 голосов
/ 13 октября 2011

Возможно небольшая опечатка в data: "{'customerid':" + "'" + $("#check").val + "'}".

Вы пробовали $("#check").val()?

...