我有以下代码在 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"} 并且不使用 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