Javascript Ajax中的多个动态URL

Javascript Ajax中的多个动态URL,javascript,jquery,html,ajax,ajaxform,Javascript,Jquery,Html,Ajax,Ajaxform,在这里,我很难将多达6个URL导入ajax。从本质上讲,您需要一个表单,并在表单输入字段中输入一个URL。然后按“加载”。jquery[参见JS#1]将获取输入的内容并加载Ajax调用 但是,如果我按下“添加更多”按钮,它将添加多达5个输入字段。这里的问题是在填写另外5个输入字段并按“加载”时 它不会单独加载ajax URL。只是一个空数组。我对延迟js加载做了一些研究。但我显然做得不对 然后我尝试了另一种方法[参见JS#2]。基本上是手动编写ajax调用。这给了我更好的结果。但是,当我输入三个

在这里,我很难将多达6个URL导入ajax。从本质上讲,您需要一个表单,并在表单输入字段中输入一个URL。然后按“加载”。jquery[参见JS#1]将获取输入的内容并加载Ajax调用

但是,如果我按下“添加更多”按钮,它将添加多达5个输入字段。这里的问题是在填写另外5个输入字段并按“加载”时
它不会单独加载ajax URL。只是一个空数组。我对延迟js加载做了一些研究。但我显然做得不对

然后我尝试了另一种方法[参见JS#2]。基本上是手动编写ajax调用。这给了我更好的结果。但是,当我输入三个输入字段,然后按“加载”时,它只会抓取其中一个输入字段,并循环三次

HTML

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <div id="tFormBox">
        <div class="tInputTop">
            <h1>Add Up to 6</h1>
        </div>
        <div class="tInputBottom">
            <label class="sr-only" for="cInput">Enter Name</label>
            <div class="c-input-fields">
                <div id="cInput">
                    <input class="form-control" name="cInput" placeholder="Enter Name">
                    <div class="add-more"></div>
                </div>
            </div><button id="chInputBtn">LOAD</button>
        </div>
    </div>
</body>
</html>

加起来是6
输入名称
负载
JS#1

var feed;
var sURLs = document.getElementsByClassName('cInput');
$('#cInput').click(function() {
    $(this).toggleClass('focused');
})
$('#cInput > .add-more').click(function() {
    // -- Limit to 6 more Additional Input Boxes --//
    var i = $('.InputBottom div').length;
    var cInput = $('<div id="cInput ' + i + ' "><input class="cInput" class="form-control" name="cInput" placeholder="Enter Name"></input></div>');
    $.each(cInput, function(i, val) {
        alert(cInput[i]);
    });
    if (i <= 7) {
        console.log('adding')
        $(cInput).appendTo('.c-input-fields');

    } else {
        console.log('maxed')
    }
})
$('#cInput').on('click', function(tags) {
    getS();
})

function getS() {
    // --grab URLS to a maximum of 6 --//
    for (var i = 0; i < sURLs.length; i++) {
        var sValue = sURLs[i].value;
    }

    function multipleAjax(number, deferredObject) {
        $.ajax({
            url: '/' + 'sValue',
            type: "GET",
            success: function(data) {
                results.push(data);
                deferredObject.resolve();
            }
        });
    }
    var deferreds = [];
    var results = [];
    var nothingImportant;
    for (var i = 0; i < nothingImportant; i++) {
        var deferredObject = new $.Deferred();
        deferreds.push(deferredObject);
        multipleAjax(i, deferredObject);
    }
    // check if all ajax calls have finished
    $.when.apply($, deferreds).done(function() {
        console.log(results);
        console.log(sValue)
    });
}
var馈送;
var sURLs=document.getElementsByClassName('cInput');
$('#cInput')。单击(函数(){
$(this.toggleClass('focused');
})
$('#cInput>.add more')。单击(函数(){
//--最多增加6个输入框--//
变量i=$('.InputBottom div').length;
var cInput=$('');
$。每个(输入,函数(i,val){
警报(cInput[i]);
});
如果(i试试这个:

// --grab URLS to a maximum of 6 --//
var sValues = []; //array of urls
for (var i = 0; i < sURLs.length; i++) {
    sValues[i].push(sURLs[i].value);
}

function multipleAjax(number, deferredObject) {
        $.ajax({
            url: '/' + sValues[number],
            type: "GET",
            success: function(data) {
                results.push(data);
                deferredObject.resolve();
            }
        });
    }
/--最多抓取6个URL--//
var sValues=[];//URL数组
对于(变量i=0;i
此处不清楚您到底问了什么问题。请澄清您的具体问题,或添加其他详细信息,以突出您的具体需要。由于目前编写的内容,很难准确说出您的问题。请参阅页面以获取澄清此问题的帮助。
// --grab URLS to a maximum of 6 --//
var sValues = []; //array of urls
for (var i = 0; i < sURLs.length; i++) {
    sValues[i].push(sURLs[i].value);
}

function multipleAjax(number, deferredObject) {
        $.ajax({
            url: '/' + sValues[number],
            type: "GET",
            success: function(data) {
                results.push(data);
                deferredObject.resolve();
            }
        });
    }