我有一个以下代码,可以与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
答案 0 :(得分:0)
data
中可能只是一个小错字:"{'customerid':" + "'" + $("#check").val + "'}"
。
您是否尝试过$("#check").val()
?