而在jquery ajax内循环

时间:2012-08-05 19:40:20

标签: javascript jquery ajax

我想在ajax .post jquery函数中设置while循环。它甚至可能吗?如果没有,是否有替代解决方案的问题。用户输入数据是动态的,并且每个用户的数量都在变化。这是必须的。这是下面的代码。

$('#send').click(function() {
    var rad = 'radius_' + k + ' : ' + 'radius_' + k + ', ';
    var add = 'address_' + k + ' : ' + 'address_' + k + ', ';
    var latit = 'latitude_' + k + ' : ' + 'latitude_' + k + ', ';
    var longit = 'longitude_' + k + ' : ' + 'longitude_' + k + ', ';

    $.post('ajax_set_place.php', {
        while (k < f) {
            print(rad);
            print(add);
            print(latit);
            print(longit);  
            var k = k++;
        },
        user_id: user_id, 
        number_of_places: number_of_places 
    }, 
    function(){
        $('#message_sent').html('Message Sent!');
    }
});

2 个答案:

答案 0 :(得分:1)

我认为这不可能,因为数据参数是一个对象。

你想要达到什么目的?

如果您尝试将用户的数据发布到文件中,我会使用

// while loop here

function doPost(){
$.post(url, {dynamic: dynamicdata});
}
setInterval(doPost(), 100);

...并在外面使用while循环动态更新参数。 如果不。我不确定你想要实现的目标是什么。 我希望这个答案在某种程度上有所帮助。

哦,另外一件事你可以通过做这样的事情来定制数据

var data = {name: dynamic};  // could insert while loop to edit what date is equal to. 
$.post('', data);

答案 1 :(得分:1)

只需整理您的代码,您就会在最后关闭}函数时遗漏.post(),而,将while循环与其他元素分开。 为您修复

另一方面,我认为你不能发送while循环。将循环放在函数中并只传递函数,显然你需要弄清楚如何以某种方式传递变量:

whileFn: function() {
    while (/*condition*/) {
        // do something here
    }
}