var a;
var urlArray = [];
$("a").each{function(){
a = $(this).attr("href");
urlArray.push(a);
});
var sArray = [];
$.each(urlArray, function(x, y){
$.ajax({
url: y, // pass the URLs consecutively
type: 'get',
dataType: 'html',
success: function(data){
sArray.push( $("video").attr("src") );
}
})
});
log(sArray); // returns a single URL, not array as expected
Я пытался получить src
значений <video>
элементов с помощью $.Ajax
вызовов. Я пытаюсь последовательно передать массив URL-адресов в $.Ajax
через $.each
, но результаты, зарегистрированные в success:
, поступают только с одного URL-адреса. Я ожидаю, что будет возвращен массив, но я могу только .push
добавить одно значение в sArray.
Может ли кто-нибудь объяснить, как мне удается последовательно извлекать нужные мне данные с каждого URL-адреса, отправленного в $.Ajax? Спасибо.
Примечание. Проще говоря, мне нужно передать массив URL-адресов в $.Ajax, чтобы я мог получать данные с каждого из этих URL-адресов.
array.push()
возвращает длину массива. Итак,var urlArray = urlArray.push(a);
не делает того, что вы думаете. - person peeebeee   schedule 23.07.2020push
внутри функцииeach
. - person peeebeee   schedule 24.07.2020