Javascript 如果我通过ajax响应附加所有html数据,这是一种好的做法吗?
我想问一下,我正在运行一个ajax函数,将所有数据加载到我的html中。现在所有的数据都显示出来了,但是我通过附加所有的数据来实现这一点,因为它们的帖子太多了,我需要创建一个循环,在一个循环中显示所有的帖子 这是我的密码Javascript 如果我通过ajax响应附加所有html数据,这是一种好的做法吗?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我想问一下,我正在运行一个ajax函数,将所有数据加载到我的html中。现在所有的数据都显示出来了,但是我通过附加所有的数据来实现这一点,因为它们的帖子太多了,我需要创建一个循环,在一个循环中显示所有的帖子 这是我的密码 <script type="text/javascript"> $(window).load(function(e){ // grab the scroll amount and the window height loadmore
<script type="text/javascript">
$(window).load(function(e){
// grab the scroll amount and the window height
loadmore();
// get_recieve_friend_requests();
// get_sent_friend_requests();
});
function loadmore(){
var lastID = $('.load-more').attr('lastID');
//alert(lastID);
jQuery.ajax({
type:'POST',
url:'<?php echo base_url("user/get_all_post"); ?>',
data: {id: lastID },
dataType: 'json',
beforeSend:function(data){
$('.load-more').show();
},
success:function(data){
var ParsedObject = JSON.stringify(data);
var json = $.parseJSON(ParsedObject);
if (json=="") {
$("#bottom").append('<div class="btn btn-default col-md-6" >'+'No More Results'+'</div>');
$("#Load_more_data").hide()
}else{
$postID=json[json.length-1].id;
$('.load-more').attr('lastID', $postID);
$.each(json, function (key, data) {
$post_id=data.id;
var post_id=data.id;
// $('.post_id_value').attr('post_id', $post_id);
var post_status=data.status;
var status_image=data.status_image;
var multimage=data.multimage;
if(!post_status=="" && !status_image==""){
$("#status_data").append('<input type="text" value="'+ post_id+'" class="post_id_value"> <div class="col-md-6 postdata"><a ><?php echo img($user_image); ?></a><a class="weshare_user_name text-font"><?php echo $uname; echo " "; echo $lname;?></a><div class="weshare_user_status">'+post_status+'</div><div class="weshare_user_singleimage"><img style="height:300px; width:400px;" src="<?php echo base_url('uploads'); ?>/'+status_image+'"></div><div class="row"><div class="col-md-12"><ul class="list-inline"><li><a href="#"><span class="glyphicon glyphicon-thumbs-up"></span> Like</a></li><li><a onclick="like();"><span class="glyphicon glyphicon-comment"></span> Comment</a></li><li><a href="#"><span class="glyphicon glyphicon-share-alt"></span> Share</a></li></ul></div></div></div>');
}else{
}
if(!post_status=="" && status_image==""){
$("#status_data").append('<input type="text" value="'+ post_id+'" class="post_id_value"><div class="col-md-6 postdata" ><a ><?php echo img($user_image); ?></a><a class="weshare_user_name text-font"><?php echo $uname; echo " "; echo $lname;?></a><div class="weshare_user_status">'+post_status+'</div><div class="row"><div class="col-md-12"><ul class="list-inline"><li><a onclick="like();"><span class="glyphicon glyphicon-thumbs-up"></span> Like</a></li><li><a ><span class="glyphicon glyphicon-comment"></span> Comment</a></li><li><a href="#"><span class="glyphicon glyphicon-share-alt"></span> Share</a></li></ul></div></div></div>');
}else{
}
if (multimage=="") {
}
else{
$("#status_data").append('<input type="text" value="'+ post_id+'" class="post_id_value"><div class="col-md-6 postdata" ><a ><?php echo img($user_image); ?></a><a class="weshare_user_name text-font"><?php echo $uname; echo " "; echo $lname; ?></a><div class="weshare_user_multimage"><img style="height:300px; width:400px;" src="<?php echo base_url('uploads'); ?>/'+multimage+'"></div><div class="row"><div class="col-md-12"><ul class="list-inline"><li><a onclick="like();"><span class="glyphicon glyphicon-thumbs-up"></span> Like</a></li><li><a href="#"><span class="glyphicon glyphicon-comment"></span> Comment</a></li><li><a ><span class="glyphicon glyphicon-share-alt"></span> Share</a></li></ul></div></div></div>');
}
});
}
}
});
}
function like()
{
var Post_id = $('.post_id_value').attr('value');
var User_id = $('.id_data').attr('value');
alert(Post_id);
jQuery.ajax({
type:'POST',
url:'<?php echo base_url("user/post_likes"); ?>',
data: {Post_id: Post_id,User_id:User_id},
dataType: 'json',
success:function(data)
{
console.log(data);
alert();
}
});
}
</script>
$(窗口)。加载(函数(e){
//抓取滚动量和窗口高度
loadmore();
//收到朋友的请求();
//获取发送的朋友请求();
});
函数loadmore(){
var lastID=$('.load more').attr('lastID');
//警报(lastID);
jQuery.ajax({
类型:'POST',
url:“”,
数据:{id:lastID},
数据类型:“json”,
发送前:函数(数据){
$('.load more').show();
},
成功:功能(数据){
var ParsedObject=JSON.stringify(数据);
var json=$.parseJSON(ParsedObject);
如果(json==“”){
$(“#底部”).append(“+”无更多结果“+”);
$(“#加载更多数据”).hide()
}否则{
$postID=json[json.length-1].id;
$('.load more').attr('lastID',$postID);
$.each(json、函数(键、数据){
$post_id=data.id;
var post_id=data.id;
//$('.post\u id\u value').attr('post\u id',$post\u id');
var post_状态=data.status;
var status\u image=data.status\u image;
var multimage=data.multimage;
如果(!post_status==“”&&!status_image==“”){
$(“#状态数据”)。追加(“”);
}否则{
}
如果(!post_status==“”&status_image==“”){
$(“#状态数据”)。追加(“”);
}否则{
}
如果(多图像==“”){
}
否则{
$(“#状态_数据”)。追加('访问由ajax填充的全局范围javascript对象。
像这样?(这不是精确的解决方案,只是为了灵感)
var posts={};
$(窗口)。加载(函数(e){
ajax();
}
函数ajax(){
//…ajax的东西
成功:功能(ajaxData){
//…json字符串化和解析对象
$.each(json,函数(键,数据){//用接收到的数据填充全局范围对象,以便在ajax函数之外访问
push({data.post_id:{“post_status”:data.post_status,“status_image”:data.status_image});
}
}
}
访问ajax填充的全局范围javascript对象。
像这样?(这不是精确的解决方案,只是为了灵感)
var posts={};
$(窗口)。加载(函数(e){
ajax();
}
函数ajax(){
//…ajax的东西
成功:功能(ajaxData){
//…json字符串化和解析对象
$.each(json,函数(键,数据){//用接收到的数据填充全局范围对象,以便在ajax函数之外访问
push({data.post_id:{“post_status”:data.post_status,“status_image”:data.status_image});
}
}
}
var json=$.parseJSON(ParsedObject);
return的值是多少?查看编辑后的代码为了搜索引擎优化,您可能需要一些静态预渲染页面,并在浏览网站时使用异步ajax,而无需重新加载整个页面和推送浏览器历史记录,并用JS重写url。(如果是非公开内容,那就没关系了)PS:关于你的标题问题。-通过ajax动态呈现大部分HTML是一种很好的做法-如果做得对的话。我想问一下,是否有其他方法发送“post_Status”和循环中的这些值,以便可以访问@AdamK@HimanshuGoyal.@HimanshuGoyal你能再详细一点吗?我不确定你有什么记住。var json=$.parseJSON(ParsedObject);
返回什么值?查看编辑的代码为了SEO,您可能需要一些静态预渲染页面,并在浏览网站时使用异步ajax,而无需重新加载整个页面,推送浏览器历史记录并用JS重写url。(如果是非公开内容,那就没关系了)PS:关于你的标题问题。-通过ajax动态呈现大部分HTML是一种很好的做法-如果做得对的话。我想问一下,是否有其他方法发送“post_Status”和循环中的这些值,以便可以访问@AdamK@HimanshuGoyal.@HimanshuGoyal你能再详细一点吗?我不确定你有什么记住。
<script type="text/javascript">
var posts={};
$(window).load(function(e){
ajax();
}
function ajax(){
//... the ajax stuff
success:function(ajaxData){
//... json stringify and parse object
$.each(json, function (key, data){//fill the global scope object with received data to be accessible outside the ajax function
posts.push({data.post_id:{"post_status":data.post_status, "status_image":data.status_image}});
}
}
}
</script>