jQuery Ajax Request innerhalb von Ajax Request

Lesezeit: 3 Minuten

jQuery Ajax Request innerhalb von Ajax Request
Bias Tegaralaga

Ist es möglich, eine Ajax-Anfrage innerhalb einer anderen Ajax-Anfrage zu stellen? weil ich einige Daten von der ersten Ajax-Anfrage benötige, um die nächste Ajax-Anfrage zu stellen.

Zuerst verwende ich die Google Maps-API, um LAT & LNG zu erhalten, danach verwende ich diese LAT & LNG, um die Instagram-API (suchbasierter Standort) anzufordern.

Noch einmal, ist das möglich, und wenn ja, wie?

$('input#search').click(function(e) {
    e.preventDefault();
    var source = $('select[name=state] option:selected').text()+' '+$('select[name=city] option:selected').text()+' '+$('select[name=area] option:selected').text();
    var source = source.replace(/ /g, '+');
    if(working == false) {
        working = true;
        $(this).replaceWith('<span id="big_loading"></span>');
        $.ajax({
            type:'POST',
            url:'/killtime_local/ajax/location/maps.json',
            dataType:'json',
            cache: false,
            data:'via=ajax&address="+source,
            success:function(results) {
            // this is where i get the latlng
            }
        });
    } else {
        alert("please, be patient!');
    }
});

  • Ja es ist möglich

    – Ve

    10. April 12 um 13:12 Uhr

  • Könntest du den Code posten, den du bisher hast.

    – Rory McCrossan

    10. April 12 um 13:15 Uhr

  • Ich habe meine Frage bearbeitet, der Code ist oben

    – Bias Tegaralaga

    10. April 2012 um 13:20 Uhr

1643914265 868 jQuery Ajax Request innerhalb von Ajax Request
Tarik

Hier ist ein Beispiel:

$.ajax({
    type: "post",
    url: "ajax/example.php",
    data: 'page=" + btn_page,
    success: function (data) {
        var a = data; // This line shows error.
        $.ajax({
            type: "post",
            url: "example.php",
            data: "page=" + a,
            success: function (data) {
   
            }
        });
    }
});

  • Sind Sie sicher, dass dies die beste Vorgehensweise ist? Mein Freund denkt, dass ich eine Flag-Variable verwenden und sie mit einer setInterval-Funktion außerhalb überprüfen sollte

    – Whamsicore

    2. Februar 16 um 2:23 Uhr


  • Das kann auch eine Lösung sein, ist aber weniger aufwendig und viel einfacher.

    – Tarik

    3. Februar 16 um 4:29 Uhr

  • Ich kann nicht ausdrücken, wie hilfreich diese Antwort für mich war, als ich versuchte, einen Beitrag innerhalb des Erfolgs eines Get zu schreiben.

    – Bruce

    24. September 16 um 4:50 Uhr

  • Ich habe diese positiv bewertet, aber sollte das nicht in der .done- oder .complete-Funktion erfolgen, um sicherzustellen, dass die erste Anfrage erledigt ist?

    – Daniel

    5. April 17 um 15:22 Uhr

  • @Daniel der success Die Funktion wird nur ausgeführt, wenn Ajax die erhält 200 OKwodurch sichergestellt wird, dass die erste Anfrage etwas (hoffentlich) Brauchbares zurückgibt, aber verwendet done ist auch eine gute Möglichkeit, dies ohne Verschachtelung zu tun. Sehen Sie mehr hier

    – M. Davis

    11. Juli 17 um 15:35 Uhr

1641811936 243 Holen Sie sich das Land vom Breitengrad Langengrad
Nishad auf

Rufen Sie das zweite Ajax von ‘complete’ auf

Hier ist das Beispiel

   var dt="";
   $.ajax({
    type: "post",
    url: "ajax/example.php",
    data: 'page="+btn_page,
    success: function(data){
        dt=data;
        /*Do something*/
    },
    complete:function(){
        $.ajax({
           var a=dt; // This line shows error.
           type: "post",
           url: "example.php",
           data: "page="+a,
           success: function(data){
              /*do some thing in second function*/
           },
       });
    }
});

  • Vielen Dank, dein Awnser hat mich gerettet, hehehe

    – Guipab

    18. Juli 18 um 14:24 Uhr

1643914265 782 jQuery Ajax Request innerhalb von Ajax Request
Ved

Dies ist nur ein Beispiel. Sie können es gerne an Ihre Anforderungen anpassen.

 $.ajax({
      url: 'ajax/test1.html',
      success: function(data1) {
        alert('Request 1 was performed.');
        $.ajax({
            type: 'POST',
            url: url,
            data: data1, //pass data1 to second request
            success: successHandler, // handler if second request succeeds 
            dataType: dataType
        });
    }
});

Näheres dazu: siehe Dies

1643914266 890 jQuery Ajax Request innerhalb von Ajax Request
Yusnur Hidayah

$.ajax({
    url: "<?php echo site_url('upToWeb/ajax_edit/')?>/" + id,
    type: "GET",
    dataType: "JSON",
    success: function (data) {
        if (data.web == 0) {
            if (confirm('Data product upToWeb ?')) {
                $.ajax({
                    url: "<?php echo site_url('upToWeb/set_web/')?>/" + data.id_item,
                    type: "post",
                    dataType: "json",
                    data: {web: 1},
                    success: function (respons) {
                        location.href = location.pathname;
                    },
                    error: function (xhr, ajaxOptions, thrownError) { // Ketika terjadi error
                        alert(xhr.responseText); // munculkan alert
                    }
                });
            }
        }
        else {
            if (confirm('Data product DownFromWeb ?')) {
                $.ajax({
                    url: "<?php echo site_url('upToWeb/set_web/')?>/" + data.id_item,
                    type: "post",
                    dataType: "json",
                    data: {web: 0},
                    success: function (respons) {
                        location.href = location.pathname;
                    },
                    error: function (xhr, ajaxOptions, thrownError) { // Ketika terjadi error
                        alert(xhr.responseText); // munculkan alert
                    }
                });
            }
        }
    },

    error: function (jqXHR, textStatus, errorThrown) {
        alert('Error get data from ajax');
    }

});

.

758870cookie-checkjQuery Ajax Request innerhalb von Ajax Request

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy