如何防止多个Ajax请求?

时间:2016-07-01 06:05:53

标签: javascript jquery ajax

我花了2天时间找到解决方案,但stackoverflow没有正确答案。 我有2个ajax函数首先加载值onload,

$.ajax({
    url: 'http://localhost/movies/data/home_data.php',
    type: 'POST',
    dataType: 'json',
    cache: false,
    success: function(data) {

        var home_contents_data='';

        $.each(data, function(index, element) {

            home_contents_data += '<a href="single-movie.html" onclick="readSingleMovie2(\''+data[index].id+'\')">More Details</a>';

        });

    }
});

它正在工作并完美地提供数据。它有一个onclick函数调用为“readSingleMovie2()”我想将此值发送到另一个ajax函数。这是我的第二个ajax函数

//second function
function readSingleMovie2(movie_id2)
{   

myApp.onPageInit('single-movie-2', function (page) {

var single_movie_details2 = '';

$.ajax({
    url: 'http://localhost/movies/data/single_movie-2.php?rand='+(Math.random()),
    type: 'POST',
    data: 'movie_id2='+movie_id2, 
    dataType: 'json',
    cache: false,
    success: function(data) {

        var single_movie_data='';
        $.each(data, function(index, element) {

            single_movie_data += '<div>'+data[index].film_name+'</div>';

        });

    }
});



})

}

这也完美地工作,并且函数数据进入函数内部。 但我的问题是。当我第二次点击第一个功能的某些值时。第二个函数的URL加载多次。 我附上了firebug截图图片以获得一个想法。

enter image description here

我尝试使用unbind,preventDefault,preventStop并缓存false ...我所知道的一切并上网。但我仍然在为此找到更好的解决方案。 请帮我解决这个问题。

非常感谢您宝贵的时间和答案 谢谢!

1 个答案:

答案 0 :(得分:0)

尝试off()。

,而不是unbind,preventDefault和preventStop

请参阅:http://api.jquery.com/off/