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
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
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
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
});
}
});
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