带链接和AJAX问题的JQ数组

时间:2013-03-04 14:16:33

标签: jquery ajax arrays

我正在尝试将多个链接从数组传递给AJAX。我从以下链接获取链接:

var additionalProducts = new Array;

    $(".chk").click(function() {
        additionalProducts=[];
        $('.chk:checked').each(function() {
            additionalProducts.push($(this).attr('data-carturl',$("a[data-slot='"+newslot2[i]+"']").attr('href')));
        });
        var ilosc = additionalProducts.length;

        console.log(additionalProducts);
        console.log(ilosc);
    });

我正在获取正确的链接,因为我可以使用控制台日志显示它。在我提交表单之前,我可以使用AJAX提交这些链接吗?

////////////更新

这是我的提交功能:

$('.submitOrder').click(function() {
    e.preventDefault();
    additionalProducts=[];
    $('.chk:checked').each(function() {

        additionalProducts.push($(this).attr('data-carturl',$("a[data-slot='"+newslot2[i]+"']").attr('href')));
    });

        for(var i = 0; i < additionalProducts.length; i++)
            {
                var page = additionalProducts[i];
                $.ajax({
                    url: page,
                    beforeSend: function() {
                        console.log(page)
                       },
                    success: function(data) {
                        console.log(page)
                    }

                });

            }
        window.location = window.location.protocol + '//' + window.location.hostname + '/my/cart';

});

我可以去购物车,但仍然没有产品。 console.log(页面)对我来说很好用

$("#submitOrder").submit(function(e){
        e.preventDefault();     
        var radio1 = $("input:radio[name=radio1]:checked").attr("data-carturl");

        additionalProducts=[];
        $('.chk:checked').each(function() {

            additionalProducts.push($(this).attr('data-carturl',$("a[data-slot='"+newslot2[i]+"']").attr('href')));
        });

             $.ajax({
                    type: 'GET',
                    url: radio1,
                    data: { theArray: JSON.stringify(additionalProducts ) }

              }),

            $(this).submit();


window.location = window.location.protocol + '//' + window.location.hostname + '/my/cart';          
}); 

1 个答案:

答案 0 :(得分:0)

当然,在使用ajax调用时将data作为JSON字符串传递:

$.ajax({
    url: 'yourwebservice.php'
    data: { theArray: JSON.stringify(additionalProducts ) }
});

在表单的submit event中,阻止提交直到ajax调用完成:

e.preventDefault();

在ajax调用完成后提交:

$(this).submit();

如果您使用的是PHP,则可以使用$theArray = $_GET['theArray'];获取数组。如果您使用的是ASP.NET:string json = HttpContext.Current.Request.Querystring['theArray'];