Comment organiser le prochain AJAX?

Une fois que je clique sur Démarrer, la demande est envoyée plusieurs fois. Comment puis-je résoudre le problème, s’il vous plaît?

GIF

La demande doit être envoyée une fois.

jsfiddle

$(document).ready(function () { $("#jsonp2").click(function () { $val = $('#d').html(); var number = ($val); var array = $('#test').val().split("\n"); $.each(array, function (i) { var ok = (array[number]); var arr = ok.split(":"); var username = (arr[0]); var password = (arr[1]); $(document).ready(function () { $("#jsonp2").click(function () { $.ajax({ url: "http://linux-app.tv:8080/player_api.php?username=" + username + "&password=" + password + "&type=m3u", success: function (response) { var data = response.user_info; if (data.status.match("Active")) { $(".aprovadas").append("Username:" + data.username + "\npassword:" + data.password + "\nstatus:" + data.status); } } }); }); }); }); }); }); 

Vous aviez un appel ajax dans le $.each qui l’envoyait deux fois plus tôt

Vérifiez ce violon

Commencez par utiliser du code redondant tel que $(document).ready(function() { OU $("#jsonp2").click(function() { . $("#jsonp2").click(function() { supprimer.

Deuxièmement, vous passez toujours number à array , il devrait être i .

Vérifiez le code mis à jour.

 $(document).ready(function() { $("#jsonp2").click(function() { $val = $('#d').html(); var number = ($val); console.log(number) var array = $('#test').val().split("\n"); $.each(array, function(i) { var ok = (array[i]); var arr = ok.split(":"); var username = (arr[0]); var password = (arr[1]); $.ajax({ url: "http://linux-app.tv:8080/player_api.php?username=" + username + "&password=" + password + "&type=m3u", success: function(response) { var data = response.user_info; if (data.status.match("Active")) { $(".aprovadas").append("Username:" + data.username + "\npassword:" + data.password + "\nstatus:" + data.status); } } }); }); }); }); 

Violon