Javascript 当我使用数据类型json时,它显示我的ajax脚本中缺少elment]
试图使用datatype json获取json格式的值,但当我将其添加到脚本中时,它显示错误,elemet]缺失,我做错了什么Javascript 当我使用数据类型json时,它显示我的ajax脚本中缺少elment],javascript,jquery,json,ajax,codeigniter,Javascript,Jquery,Json,Ajax,Codeigniter,试图使用datatype json获取json格式的值,但当我将其添加到脚本中时,它显示错误,elemet]缺失,我做错了什么 $(document).ready(function(){ $(window).scroll(function(){ var lastID = $('.load-more').attr('lastID'); if ($(window).scrollTop() == $(document).height() - $(wi
$(document).ready(function(){
$(window).scroll(function(){
var lastID = $('.load-more').attr('lastID');
if ($(window).scrollTop() == $(document).height() - $(window).height() && lastID != 0){
$.ajax({
type:'POST',
url:'<?php echo base_url("user/get_all_post"); ?>',
data:"id="+lastID,
dataType:'json',
beforeSend:function(html){
$('.load-more').show();
},
success:function(html){
//alert(html);
var ParsedObject = JSON.stringify(html);
var json = $.parseJSON(ParsedObject);
//alert(json);
/*
var json =" [{'id':1,'name':'Test1'},{'id':2,'name':'Test2'}]";
var jsonArray = eval('(' + json + ')');
for (i in jsonArray)
{
alert(jsonArray[i]["name"]);
}
*/
// alert(json.id);
var jsonArray = eval('(' + json + ')');
$PostId=jsonArray[4]["id"];
// alert($PostId);
for(i in jsonArray)
{
$post_status=jsonArray[i]["status"];
$status_image=jsonArray[i]["status_image"];
$multimage=jsonArray[i]["multimage"];
//alert(Lastid);
//alert($post_status);
//alert($status_image);
//alert($multimage);
$('.load-more').attr('lastID',$PostId);
$('#result_table').append(jsonArray);
}
}
});
}
});
});
</script>
$(文档).ready(函数(){
$(窗口)。滚动(函数(){
var lastID=$('.load more').attr('lastID');
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height()&&lastID!=0){
$.ajax({
类型:'POST',
url:“”,
数据:“id=”+lastID,
数据类型:'json',
发送前:函数(html){
$('.load more').show();
},
成功:函数(html){
//警报(html);
var ParsedObject=JSON.stringify(html);
var json=$.parseJSON(ParsedObject);
//警报(json);
/*
var json=“[{'id':1,'name':'Test1'},{'id':2,'name':'Test2'}]”;
var jsonArray=eval(“(“+json+”)”);
对于(我在jsonArray)
{
警报(jsonArray[i][“名称]);
}
*/
//警报(json.id);
var jsonArray=eval(“(“+json+”)”);
$PostId=jsonArray[4][“id”];
//警报($posted);
对于(我在jsonArray)
{
$post_status=jsonArray[i][“status”];
$status_image=jsonArray[i][“status_image”];
$multimage=jsonArray[i][“multimage”];
//警报(Lastid);
//警报($post_状态);
//警报($status\u image);
//警报($multimage);
$('.load more').attr('lastID',$PostId);
$('result_table').append(jsonArray);
}
}
});
}
});
});
我想访问我的json数据,以便显示它,但当我访问时,所有变量都显示为未定义。然后在我的视图中,首先,您的
用户/get_all_post
需要返回json数据(并且具有带有应用程序/json
的响应头)
使用输出类
(参考)
然后,您可以在jquery响应时使用json属性
success:function(response){
alert(response.foo)
}
我想我找到了一个解决方案我只是在我的代码中添加了所有东西,我只需要访问我的json值,我只需要解析json值,然后我就可以访问for循环中的数组
希望对其他人也有帮助
<script type="text/javascript">
$(document).ready(function(){
$(window).scroll(function(){
var lastID = $('.load-more').attr('lastID');
if ($(window).scrollTop() == $(document).height() - $(window).height() && lastID != 0){
jQuery.ajax({
type:'POST',
url:'<?php echo base_url("user/get_all_post"); ?>',
data: "id=" + lastID,
dataType: 'json',
beforeSend:function(html){
$('.load-more').show();
},
success:function(data){
var ParsedObject = JSON.stringify(data);
var json = $.parseJSON(ParsedObject);
$PostId=json[4]['id'];
for(i as json)
{
var post_status = json[i]['status'];
$status_image = json[i]['status_image'];
var multimage = json[i]['multimage'];
alert($status_image);
$("#status_data").append('<div style=" margin: 20px 50px 0px 40px; ">'+'<a>'+'<?php echo img($user_image); ?>' +'</a>'+'<a>'+ ' <?php echo $uname; ?>' +'</a>'+'<div>'+post_status+'</div>' +'</div>');
$("#status_data").append('<div style=" margin: 20px 50px 0px 40px; ">'+'<a>'+'<?php echo img($user_image); ?>' +'</a>'+'<a>'+ ' <?php echo $uname; ?>' +'</a>'+'<div>'+'<img src="'+<?php base_url('uploads/'); ?> status_image+'">'+'</div>' +'</div>');
}
$('.load-more').attr('lastID', $PostId);
}
});
}
});
});
</script>
$(文档).ready(函数(){
$(窗口)。滚动(函数(){
var lastID=$('.load more').attr('lastID');
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height()&&lastID!=0){
jQuery.ajax({
类型:'POST',
url:“”,
数据:“id=”+lastID,
数据类型:“json”,
发送前:函数(html){
$('.load more').show();
},
成功:功能(数据){
var ParsedObject=JSON.stringify(数据);
var json=$.parseJSON(ParsedObject);
$PostId=json[4]['id'];
for(i作为json)
{
var post_status=json[i]['status'];
$status\u image=json[i]['status\u image'];
var multimage=json[i]['multimage'];
警报($status\u image);
$(“状态数据”)。附加(“”+“”+“”+“”+“”+“”+“”+“”+“”+“”+“”+状态后+“”+“”+“”+“”+“”);
$(“#状态(u数据”)。追加(“”+“”+“”+“”+“”+“”+“”+“”+“”+“”+“”+“”+“”+“”+’状态(u图像+“”>“”+“”+“”);
}
$('.load more').attr('lastID',$PostId);
}
});
}
});
});
这就行了,不需要eval或jsonArray。感谢大家的回复。获取$返回的javascript对象似乎很奇怪。ajax
…将其转换为JSON,再转换回对象,然后使用eval
!!。您会发现html
是一个普通的javascript对象,您可以像其他对象一样使用它…您ode>json
是一个对象…var jsonArray=eval(“(“+json+”)”当我提醒这些值$post_status数据在那里时,
将毫无用处,但当我尝试在html中访问它们时,它会显示未定义的变量如果您使用datatype:json
您需要将数据作为json对象发送like数据:{“id”:lastID},
仍然显示缺少的元素@Mairajdo this:success:function(jsonArray){
并删除stringify/parse/eval垃圾-即删除该垃圾和上面的行之间的所有内容$PostId=jsonArray[4][“id”];
-例如。
<script type="text/javascript">
$(document).ready(function(){
$(window).scroll(function(){
var lastID = $('.load-more').attr('lastID');
if ($(window).scrollTop() == $(document).height() - $(window).height() && lastID != 0){
jQuery.ajax({
type:'POST',
url:'<?php echo base_url("user/get_all_post"); ?>',
data: "id=" + lastID,
dataType: 'json',
beforeSend:function(html){
$('.load-more').show();
},
success:function(data){
var ParsedObject = JSON.stringify(data);
var json = $.parseJSON(ParsedObject);
$PostId=json[4]['id'];
for(i as json)
{
var post_status = json[i]['status'];
$status_image = json[i]['status_image'];
var multimage = json[i]['multimage'];
alert($status_image);
$("#status_data").append('<div style=" margin: 20px 50px 0px 40px; ">'+'<a>'+'<?php echo img($user_image); ?>' +'</a>'+'<a>'+ ' <?php echo $uname; ?>' +'</a>'+'<div>'+post_status+'</div>' +'</div>');
$("#status_data").append('<div style=" margin: 20px 50px 0px 40px; ">'+'<a>'+'<?php echo img($user_image); ?>' +'</a>'+'<a>'+ ' <?php echo $uname; ?>' +'</a>'+'<div>'+'<img src="'+<?php base_url('uploads/'); ?> status_image+'">'+'</div>' +'</div>');
}
$('.load-more').attr('lastID', $PostId);
}
});
}
});
});
</script>