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