Я не смог найти ничего о получении общего количества записей в JSON с помощью jQuery.
Вот возвращаемый JSON:
{"Email":"Пожалуйста, введите свой Email.","Password":"Пожалуйста, введите пароль."}
.
Вот мой код:
$(function() {
$("#btnSubmit").click(function() {
$.ajax({
url: "/account/signup",
type: "POST",
dataType: "json",
data: {
Email: $("#strEmail").val(),
Password: $("#strPassword").val()
},
success: function(j) {
$(".errMsg").hide();
alert(j.length); // I couldn't get the total count
$.each(j, function(n) {
$("#err" + n).html(j[n]);
$("#err" + n).show();
})
},
error: function(req, status, error) {
alert(req);
}
});
});
});
ОП пытается подсчитать количество свойств в объект JSON. Это может быть сделано с инкрементируется переменная Temp в итератор, но он, кажется, хочет знать счет до итерации. Простая функция, которая удовлетворяет потребность обеспечивается в нижней части этой странице.
Здесь'ы вырезать и вставить код, который работал для меня:
function countProperties(obj) {
var prop;
var propCount = 0;
for (prop in obj) {
propCount++;
}
return propCount;
}
Это должно хорошо работать для объекта JSON. Для других объектов, которые могут наследовать свойства из цепочки прототипов, вы должны добавить метод hasOwnProperty (тест).
Зачем в этом случае нужна длина?
Если вы хотите проверить длину, пусть сервер возвращает JSON-массив с парами ключ-значение, как это сделано ниже:
[
{key:value},
{key:value}
]
В JSON символы [ и ] обозначают массив (со свойством length), { и } - объект (без свойства length). Вы можете перебирать члены объекта, но при этом вы получите и функции, что делает проверку длины числа членов бесполезной, кроме как для итерации по ним.
Попробуйте следующее:
var count=Object.keys(result).length;
Не работает в IE8 и ниже.
Что вы'вновь глядя на это
j.d.length
В Д - это ключ. По крайней мере это в моем случае, я'м с помощью .Чистая веб-сервиса.
$.ajax({
type: "POST",
url: "CantTellU.asmx",
data: "{'userID' : " + parseInt($.query.get('ID')) + " }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg, status) {
ApplyTemplate(msg);
alert(msg.d.length);
}
});
Возможно, вы хотите попробовать в JSON.обработать ваш возвращаемого результата первого, то вы можете получить счет на .длина