第二个请求中的ajax文件中的先前值

时间:2014-09-18 07:22:51

标签: php ajax

为了根据类别对产品进行分类,我通过ajax请求完成了这项工作。现在发生的事情是当我发出第二个ajax请求时(通过选中第二个复选框),它首先需要先传递值。

让我们说类别ID为' 11',' 12',' 13'。首先要求我传递价值' 12'到ajax文件,在第二次请求时,我传递了价值' 11' &安培; ' 12'到ajax文件。文件理解的是两个请求:一个是' 12' &安培;另一个是' 11' &安培; ' 12&#39 ;.所以它给出了错误的结果。

看看我的代码:

的index.php

$.ajax({
    type: "POST",
    url: "ajax_showsubdiv.php",
    data: {cat_id:cat_id,sub_cat:sub_cat,sub_cat1:sub_cat1,sub_cat2:sub_cat2},
    success: function(option){
        $('.autoload').replaceWith(option);
    }
    });
    e.preventDefault;
});

ajax_subdiv.php

$(document).ready(function() {
var cat_id= <?php echo $cat_id; ?>;
var sub_cat= <?php echo $sub_cat; ?>;
var sub_cat1= <?php echo $sub_cat1; ?>;
var sub_cat2= <?php echo $sub_cat2; ?>;

$('.autoload').load("ajax_autoload.php", {'group_no':track_load,'sub_cat':sub_cat,
  'sub_cat1':sub_cat1,'sub_cat2':sub_cat2},
  function() {track_load++;}); //load first group

$('.animation_image').delay(2000).fadeOut();
$(window).scroll(function() {
    if(!flag){
        if($(window).scrollTop() + $(window).height() >= ($(document).height()-350))
        {
            if(track_load < total_groups && loading==false)
            {
                loading = true;
                $('.animation_image').show();
                alert(sub_cat);//This two gives total 4 results on second request
                alert(sub_cat1);//First from previous request & second from this request

                $.post('ajax_autoload.php',{'group_no':track_load,
                'sub_cat':sub_cat,'sub_cat1':sub_cat1,'sub_cat2':sub_cat2
                }, function(data){

                    $(".autoload").append(data);
                    $('.animation_image').hide();

                    track_load++;
                    loading = false; 

                }).fail(function(xhr, ajaxOptions, thrownError) { //any errors?

                    alert(thrownError); //alert with HTTP error
                    $('.animation_image').hide(); //hide loading image
                    loading = false;

                });

            }
        }
    }
});

});

ajax_autoload 文件只取结果并以我的格式显示,该文件工作正常。 任何人都可以帮助发现我正在做的错误吗?我现在已经为这个解决方案工作了3-4天。

修改 基本上我需要的是,在每个ajax调用上创建一个新的新请求,忘记以前的请求。

0 个答案:

没有答案