0

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);
                   }
               });


           });
       });

今、jsonシリアル化を使用してcheckval関数内のサーバー側のC#コードを変更しました

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"} Mozillaa で動作しない

このコードで 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 の両方で動作します

4

1 に答える 1

0

おそらく : の小さなタイプミスdataです"{'customerid':" + "'" + $("#check").val + "'}"

試しました$("#check").val()か?

于 2011-10-13T10:30:36.967 に答える