Javascript 未捕获的SyntaxError:当我尝试从mysql获取数据时,JSON输入错误意外结束

Javascript 未捕获的SyntaxError:当我尝试从mysql获取数据时,JSON输入错误意外结束,javascript,jquery,python,json,Javascript,Jquery,Python,Json,我尝试使用一个动画从mysqldb加载内容,并限制所获取的内容,它获取的内容在内容结束时显示。加载的动画是继续加载,我获取此错误 我的剧本: <script> $(document).ready(function(){ var limit = 7; var start = 0; var action = 'inactive'; function load_country_data(limit, start) {

我尝试使用一个动画从mysqldb加载内容,并限制所获取的内容,它获取的内容在内容结束时显示。加载的动画是继续加载,我获取此错误

我的剧本:

<script>

    $(document).ready(function(){

     var limit = 7;
     var start = 0;
     var action = 'inactive';
     function load_country_data(limit, start)
     {
      $.ajax({
       url:"/select_index",
       method:"POST",
       data:{limit:limit, start:start},
       cache:false,
       success:function(data)
       {
        var obj2 = JSON.parse(data);
            console.log(data);
            console.log(obj2);
            var i=0;
            var j=0;

        for(i in obj2){
        //for(j in obj2[i]){
       $('#load_data').prepend("<form><div class='panel panel-white post panel-shadow user-post'><div class='post-heading'><div class='pull-left image'><img src='static/"+obj2[i][4]+"' class='img-circle avatar' alt='user profile image'></div><div class='pull-left meta'> <div class='title h5'><a href='#'><b>"+obj2[i][1]+"</b></a> made a post.</div><h6 class='text-muted time'>1 minute ago</h6></div></div> <div class='post-description'> <p>"+obj2[i][0]+"</p><div class='stats'><a href='#' class='btn btn-default stat-item'> <i class='fa fa-thumbs-up icon'></i>2</a> <a href='#' class='btn btn-default stat-item'><i class='fa fa-share icon'></i>12</a></div></div><div class='post-footer'><div class='input-group'> <input class='form-control' placeholder='Add a comment' type='text'></div>                </div></div></form>" );
     //  }
     }


       // $('#load_data').append(data);
        if(data == '')
        {
         $('#load_data_message').html("No Data Found");
         action = 'active';
        }
        else
        {
         $('#load_data_message').html("<div class='loadingC'><div class='loadingCcerc'</div></div>");
         action = "inactive";
        }
       }
      });
     }

     if(action == 'inactive')
     {
      action = 'active';
      load_country_data(limit, start);
     }
     $(window).scroll(function(){
      if($(window).scrollTop() + $(window).height() > $("#load_data").height() && action == 'inactive')
      {
       action = 'active';
       start = start + limit;
       setTimeout(function(){
        load_country_data(limit, start);
       }, 800);
      }
     });

    });
    </script>
我看到错误来自json.parse 我的python脚本:

@app.route('/select_index',methods=["POST","GET"])
def select_index():
    limit=request.args['limit']
    print(limit)
    start=request.args['start']
    print(start)
    select="SELECT comments.post,comments.name,comments.post_id , register.id,register.profile_pic,comments.id FROM comments,register WHERE register.id=comments.post_id ORDER  BY comments.id DESC LIMIT "+str(start)+","+str(limit)+" "
    con.execute(select)
    fetch=con.fetchall()
    print(fetch)
    json_fetch=str(jsonify(fetch))
    print(len(json_fetch))
    if json_fetch=="<Response 3 bytes [200 OK]>":
        return ""
    else:        
        return jsonify(fetch)

您正在从python代码返回一个空字符串:

if json_fetch=="<Response 3 bytes [200 OK]>":
    return ""

当您使用JSON.parse时,返回的是未捕获的语法错误:JSON输入意外结束

i change,但现在返回的是空数组[],动画没有停止在屏幕上显示文本没有停止 脚本:


您确定响应是有效的JSON吗?
<script>

$(document).ready(function(){

 var limit = 7;
 var start = 0;
 var action = 'inactive';
 function load_country_data(limit, start)
 {
  $.ajax({
   url:"/select_index",
   method:"POST",
   data:{limit:limit, start:start},
   cache:false,
   success:function(data)
   {
    var obj2 = JSON.parse(data);
        console.log(data);
        console.log(obj2);
        var i=0;
        var j=0;

    for(i in obj2){
    //for(j in obj2[i]){
   $('#load_data').prepend("<form><div class='panel panel-white post panel-shadow user-post'><div class='post-heading'><div class='pull-left image'><img src='static/"+obj2[i][4]+"' class='img-circle avatar' alt='user profile image'></div><div class='pull-left meta'> <div class='title h5'><a href='#'><b>"+obj2[i][1]+"</b></a> made a post.</div><h6 class='text-muted time'>1 minute ago</h6></div></div> <div class='post-description'> <p>"+obj2[i][0]+"</p><div class='stats'><a href='#' class='btn btn-default stat-item'> <i class='fa fa-thumbs-up icon'></i>2</a> <a href='#' class='btn btn-default stat-item'><i class='fa fa-share icon'></i>12</a></div></div><div class='post-footer'><div class='input-group'> <input class='form-control' placeholder='Add a comment' type='text'></div>                </div></div></form>" );
 //  }
 }
  //SELECT comments.post,comments.name,comments.post_id , register.id,register.profile_pic,comments.id,abonari.id_user,abonari.id_abonat FROM comments,register,abonari WHERE register.id=comments.post_id AND register.id=abonari.id_abonat ORDER BY comments.id DESC

   // $('#load_data').append(data);
    if(data == '')
    {
     $('#load_data_message').html("No Data Found");
     action = 'active';
    }
    else
    {
     $('#load_data_message').html("<div class='loadingC'><div class='loadingCcerc'</div></div>");
     action = "inactive";
    }
   }
  });
 }

 if(action == 'inactive')
 {
  action = 'active';
  load_country_data(limit, start);
 }
 $(window).scroll(function(){
  if($(window).scrollTop() + $(window).height() > $("#load_data").height() && action == 'inactive')
  {
   action = 'active';
   start = start + limit;
   setTimeout(function(){
    load_country_data(limit, start);
   }, 800);
  }
 });

});
</script>
@app.route('/select_index',methods=["POST","GET"])
def select_index():
    limit=request.args['limit']
    print(limit)
    start=request.args['start']
    print(start)
    select="SELECT comments.post,comments.name,comments.post_id , register.id,register.profile_pic,comments.id FROM comments,register WHERE register.id=comments.post_id ORDER  BY comments.id DESC LIMIT "+str(start)+","+str(limit)+" "
    con.execute(select)
    fetch=con.fetchall()
    print(fetch)
    json_fetch=str(jsonify(fetch))
    print(len(json_fetch))       
    return jsonify(fetch)