Javascript Ajax中的多个动态URL
在这里,我很难将多达6个URL导入ajax。从本质上讲,您需要一个表单,并在表单输入字段中输入一个URL。然后按“加载”。jquery[参见JS#1]将获取输入的内容并加载Ajax调用 但是,如果我按下“添加更多”按钮,它将添加多达5个输入字段。这里的问题是在填写另外5个输入字段并按“加载”时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调用。这给了我更好的结果。但是,当我输入三个
它不会单独加载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();
}
});
}