如何在将ajax数据放入div之前预加载?

时间:2015-06-30 09:06:29

标签: javascript jquery html ajax

所以我有这个脚本用于使用ajax获取数据:

$.ajax({ 
  url: 'ajax.php',
  data: { modelID:id },
  type: 'post',
  success: function(result){
    $(result).load(function(){
       $('.view_'+id).html(result)
       $('.view_'+id).find('.brandModelGallery').bxSlider({})
       $('.view_'+id).addClass('loaded')
    })
  }
})

但是我想在收到数据后才附加$('.view_'+id).html(result),否则页面加载非常难看。我应该在成功响应中添加什么来实现这一目标?

3 个答案:

答案 0 :(得分:1)

您需要检查result是否为空,并在其中有一些回复。

请更改以下功能

$.ajax({ 
  url: 'ajax.php',
  data: { modelID:id },
  type: 'post',
  success: function(result){
    if(result != null && typeof result != 'undefined' && result.length > 0){
         $(result).load(function(){
             $('.view_'+id).html(result)
             $('.view_'+id).find('.brandModelGallery').bxSlider({})
             $('.view_'+id).addClass('loaded')
         })
    }
  }
})

愿这对你有所帮助。

答案 1 :(得分:0)

         $.ajax({ 
                  url: 'ajax.php',
                  data: { modelID:id },
                  type: 'post',
                  success: function(result){
         if(result!=null || result!=undefined || result.length > 0)
    {
                    $(result).load(function(){
                       $('.view_'+id).html(result)
                       $('.view_'+id).find('.brandModelGallery').bxSlider({})
                       $('.view_'+id).addClass('loaded')

                    })
                  }
                 }
                })

        //Just check if your result is not null(data is fetched) before attaching it :)

答案 2 :(得分:0)

检查一下......

 $.ajax({
        type: "POST",
        url: 'ajax.php',
        data: {modelID: id},
        success: function (result) //we're calling the response json array 'permissions'
        {
            if (result != null && result.length > 0) {
                $('.view_' + id).html(result)
                $('.view_' + id).find('.brandModelGallery').bxSlider({})
                $('.view_' + id).addClass('loaded')
            }
        }, beforeSend: function () {
// SHOW THE SPINNER
        },
        complete: function (jqXHR, textStatus) {
            // HIDE THE SPINNER
        }

    });