2016-11-29 1 views
-1

Wie kann ich die URL verwenden, die über eine Ajax-Anfrage mit jQuery in einer anderen Ajax-Anfrage angefordert wurde?Zugriff auf eine externe Variable (Ajax-Aufruf)

Zum Beispiel: dies ist die Ajax-URL angefordert:

function display_url1() { 
jQuery.ajax({ 
type: 'GET', 
url: 'http://www.google.com?action=search', 
success: function(msg) { 
$('#show_results').html(msg); 
} 
}); 
} 

Mit dem zweiten Ajax-Request (mit button2):

http://www.google.com?action=search

Das ist mein erster Anruf Taste 1 mit Ajax ist Ich möchte diese URL anrufen:

http://www.google.com?action=search&category=sport

So etwas:

function display_url2() { 
jQuery.ajax({ 
type: 'GET', 
url: 'THE FIRST URL + &category=sport', 
success: function(msg) { 
$('#show_results').html(msg); 
} 
}); 
} 

Also mit der neuen Ajax-Anfrage mag ich & Kategorie = Sport zur ersten URL hinzuzufügen. Also meine Frage ist, wie eine externe Variable mit einem anderen Anruf erstellt zuzugreifen

+0

Wie machen Sie die Anrufe? – epascarello

+0

@epascarello Siehe update bitte –

+0

Nun, Sie müssen irgendwie die URL zwischen den Anrufen teilen ... im Moment gibt es keine Beziehung oder Möglichkeit, darauf zuzugreifen ... – epascarello

Antwort

1

Also habe eine Variable und verwende sie in beiden Aufrufen. Etwas wie:

var url = "http://www.example.com?q=1"; 

function display_url1(){ 
    makeCall(url); 
} 

function display_url2(){ 
    makeCall(url + "&foo=bar"); 
} 


function makeCall(url) { 
    jQuery.ajax({ 
    type: 'GET', 
    url: url, 
    success: function(msg) { 
     $('#show_results').html(msg); 
    } 
    }); 
} 

bearbeiten basierend n Kommentar ...

var url; 
function display_url1(){ 
    url = "http://www.example.com?q=1"; 
    makeCall(url); 
} 

function display_url2(){ 
    makeCall(url + "&foo=bar"); 
} 


function makeCall(url) { 
    jQuery.ajax({ 
    type: 'GET', 
    url: url, 
    success: function(msg) { 
     $('#show_results').html(msg); 
    } 
    }); 
} 
+0

Nochmals vielen Dank. Ich glaube, du hast meine Frage nicht verstanden. Die Variable URL wird mit dem ersten Aufruf erstellt. Sagen wir url1. Jetzt möchte ich diese Variable im zweiten Aufruf verwenden. Die Variable url1 ist eigentlich eine externe Variable für den zweiten Aufruf. –

+0

Ich habe versucht, DETAILS von dir zu bekommen .... jetzt bekomme ich sie ....Also, als Sie irgendwo die URL irgendwo speichern müssen, auf die zugegriffen werden kann ... – epascarello

+0

Ja. Das, was ich brauche. Etwas wie Session in PHP –

0

Angenommen, Sie $.ajax() verwenden, können Sie die URL zugreifen this.url innerhalb des complete Rückrufs verwenden, zum Beispiel:

$('button').on('click', function() { 
 
    $.ajax({ 
 
    url: 'http://www.google.com?action=search', 
 
    complete : function() { 
 
     var theURL = this.url; 
 
     // Now perform a second one: 
 
     $.ajax({ 
 
      url: theURL+'&category=sport' 
 
     }); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button>Send request</button>

+0

Danke BenM, Ok, wie kann ich nun die URL in der zweiten Ajax-Anfrage verwenden? –

+0

@SunZ Greifen Sie einfach auf die Variable 'theURL' zu. – BenM

+0

Bitte beachten Sie die Änderung. – BenM

Verwandte Themen