Javascript 如果我通过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

我想问一下,我正在运行一个ajax函数,将所有数据加载到我的html中。现在所有的数据都显示出来了,但是我通过附加所有的数据来实现这一点,因为它们的帖子太多了,我需要创建一个循环,在一个循环中显示所有的帖子

这是我的密码

    <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>