Jquery 使用Ajax在div中加载json数据(未捕获类型错误:无法读取未定义的属性';长度')
我试图在我的项目中实现无限滚动。我创建了3个页面index.php、ajax.php和script.js。索引运行良好。php从mysql数据库返回json格式的数据Jquery 使用Ajax在div中加载json数据(未捕获类型错误:无法读取未定义的属性';长度'),jquery,ajax,Jquery,Ajax,我试图在我的项目中实现无限滚动。我创建了3个页面index.php、ajax.php和script.js。索引运行良好。php从mysql数据库返回json格式的数据 `$.each(data.content, function(key, value ){` script.js出现问题 下面是代码 `$.each(data.content, function(key, value ){` Script.js: $(window).scroll(function() { if($(wind
`$.each(data.content, function(key, value ){`
script.js出现问题
下面是代码
`$.each(data.content, function(key, value ){`
Script.js:
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height()){
first = $('#first').val();
limit = $('#limit').val();
no_data = true;
if(flag && no_data){
flag = false;
$('#loader').show();
$.ajax({
url : 'ajax.php',
dataType: "json",
type: 'post',
data: {
start : first,
limit : limit
},
success: function( data ) {
flag = true;
$('#loader').hide();
if(data.count > 0 ){
first = parseInt($('#first').val());
limit = parseInt($('#limit').val());
$('#first').val( first+limit );
$( "#jc" ).append( "<p>Test</p>" );
//$('#jc').append();
$.each(data.content, function(key, value ){
alert(value.name);
//$( "#jc" ).append( "<p>Test1</p>" );
html +=value.name;
html += '<span class="month"><i class="fa fa-calendar"></i>'+value.name+'</span><p> </p>';
html += '<p><a href="'+value.email+'" target="_blank">Demo </a></p>';
html += '<p><a href="'+value.job_description+'" target="_blank">Tutorial </a></p>';
html += '<p>'+value.mobile+'</p>';
html += '</li>';
$('#jc').append( html );
});
}else{
alert('No more data to show');
no_data = false;
}
},
error: function( data ){
flag = true;
$('#loader').hide();
no_data = false;
alert('Something went wrong, Please contact admin');
}
});
}
}
});
`$.each(data.content, function(key, value ){`
这条线有问题,因为在这之后我放了警报标签,但它没有开火
`$.each(data.content, function(key, value ){`
Json数据
`$.each(data.content, function(key, value ){`
{"count":2,"0":{"name":" Admin","email":"md1234@gmail.com","description":"We are looking json data. ","mobile":"123456789","newDate":"01-Apr-2016"},"1":{"name":"Raja","email":"fsfsf@sfsfs.ccc","description":"testing testing ","mobile":"43455435422","newDate":"31-Mar-2016"}}
我检查了控制台,发现了这个错误
jquery-2.1.3.min.js:2未捕获类型错误:无法读取未定义的的属性“length”。首先,在$中。each()
在发出警报之前,您应该迭代数据,而不是数据。内容。存储在数据
中的对象没有内容
属性
`$.each(data.content, function(key, value ){`
然后,在数据
对象中,第一个键/值对是“count”:2
,因此您的警报试图读取2
的名称
属性。只有在其他键/值对中,您的值才是具有名称
属性的对象
`$.each(data.content, function(key, value ){`
在尝试调用该值之前,可以尝试检查该值是否具有名称
属性:
`$.each(data.content, function(key, value ){`
$.each(data, function(key, value ){
if (value.name) {
alert(value.name);
}
// etc.
首先,在您的$.each()
警报前,您应该迭代数据
,而不是数据.内容
。存储在数据
中的对象没有内容
属性
`$.each(data.content, function(key, value ){`
然后,在数据
对象中,第一个键/值对是“count”:2
,因此您的警报试图读取2
的名称
属性。只有在其他键/值对中,您的值才是具有名称
属性的对象
`$.each(data.content, function(key, value ){`
在尝试调用该值之前,可以尝试检查该值是否具有名称
属性:
`$.each(data.content, function(key, value ){`
$.each(data, function(key, value ){
if (value.name) {
alert(value.name);
}
// etc.
谢谢你的回答。我们也可以使用hasOwnProperty,value.hasOwnProperty('name')
来检查它。它起作用了,但我得到了一个额外的json数据,因为它没有定义。像json一样,从db返回2条记录,但当我将它们打印为html时,我得到了额外的记录(udefined)。您是否将if
包装在构建html的行中并将其附加到#jc
中?谢谢您的回答。我们也可以使用hasOwnProperty,value.hasOwnProperty('name')
来检查它。它起作用了,但我得到了一个额外的json数据,因为它没有定义。像json一样,从db返回2条记录,但当我将它们打印为html时,我得到了额外的记录(udefined)。您是否将if
包装在构建html的行周围,并将其附加到#jc
?