每个()逐个提交ajax请求

rus*_*sly 4 javascript ajax jquery

我尝试使用ajax提交多个表单,但是如何逐个发送,我的意思是在完成/成功之后发送第一个ajax然后发送第二个ajax,下面是我的脚本:

<form>
 <input type="text" name="name" value="john doe" size="60">
 <input type="text" name="age" value="23" size="2">
</form>

<form>
 <input type="text" name="name" value="Alex" size="60">
 <input type="text" name="age" value="24" size="2">
</form>

<button>Submit</button>


<script>
function post_form_data(data) {
    $.ajax({
        type: 'POST',
        url: 'https://members.lelong.com.my/Auc/Member/Feed/feed.asp',
        data: data,
        success: function () {
            console.log('Success');
        },
        error: function () {
            console.log('error');   
        }
    });
}

$('button').on('click', function () {
    $('form').each(function () {
        post_form_data($(this).serialize());
    });
});
</script>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Roy*_*mir 5

你可以试试这个:

function post_form_data(data,cache,i) {
    $.ajax({
        type: 'POST',
        url: 'https://members.lelong.com.my/Auc/Member/Feed/feed.asp',
        data: data,
        success: function () {
            console.log('Success');
            i++;
            post_form_data(cache.eq(i).serialize(),_cached,i);
        },
        error: function () {
            console.log('error');   
        }
    });
}

$('button').on('click', function () {

  var _cached=$('form');
  post_form_data(_cached.eq(0).serialize(),_cached,0);

});
Run Code Online (Sandbox Code Playgroud)


Pra*_*kam 3

你可以加

异步:假

使其顺序化。

$.ajax({
    type: 'POST',
    url: 'https://members.lelong.com.my/Auc/Member/Feed/feed.asp',
    data: data,
    async :false ,
    success: function () {
        console.log('Success');
    },
    error: function () {
        console.log('error');   
    }
});
Run Code Online (Sandbox Code Playgroud)

注意:- async : false可以从逻辑上拒绝 ajax 请求的行为。我们不鼓励使用它,直到迫切需要它为止。