ajax请求一次从服务器20获取图像,如何在没有图像时停止发送请求?

时间:2014-08-18 11:02:17

标签: jquery ajax asp.net-ajax

我jave一个函数ajaxRequest从服务器检索图像(c#action方法)如何在没有图像的情况下停止发送请求?

我想在html代码中发送图像计数,如果计数为0则停止发送是正确的吗?但我必须解析html的评论。有更好的方法吗?

ajaxRequest函数使用timeOut每2秒执行一次。

代码:

ajaxFunction = function() {
    $.ajax({
        beforeSend: function() {
            clearTimeout(loadFromServerTimeout); // clear the timeout until THIS request ends.

        },
        type: 'get',
        url: '@Url.Action("GetData", "GreekFurs")',
        data: {
            skip: value
        },
        success: function(data) {

            console.log(data);
            // data is html from server
            loadFromServerTimeout = setTimeout(ajaxFunction, 3000); // Start the timer again.


        },


    });
}

来自服务器的AJAX视图:

@{
    Layout = null;
    var photos = (List<ShoppingGalleryPhoto>) ViewData["data"];
}
 <!--count:@photos.Count-->
@foreach (var photo in photos)
{

     <li><a></a></li> //image links
}

1 个答案:

答案 0 :(得分:1)

您可以检查返回的li元素的数量。如果有20(即限制),则需要发送另一个请求。试试这个:

success: function(data) {
    console.log(data);
    if ($(data).filter('li').length == 20) {
        loadFromServerTimeout = setTimeout(ajaxFunction, 3000); // Start the timer again.
    }
},