ich auf einem JS Projekt arbeitete, und ich habe den folgenden Code:Variable definiert, bevor der Aufruf der Funktion nicht ändert
$(document).ready(function() {
/**
* Need variables
*/
var providers = $("#providers");
var pagination = $("#pagination");
var url = "/provider/provider_id_to_change/offers";
\t
/**
* When a provider is selected
*/
providers.change(function() {
\t
alert('Before Ajax: ' + url);
var providerID = $(this).val();
url = url.replace(/provider_id_to_change/, providerID);
updateOffers(function(json) {});
});
function updateOffers(callback, page_to_visit) {
page_to_visit = typeof(page_to_visit) != 'undefined' ? page_to_visit : 1;
$.ajax({
dataType: 'json',
url: url,
data: {page: page_to_visit}
}).done(function(json){
// Do something
\t \t \t alert('After Ajax: ' + url);
\t \t \t
callback(json);
});
}
\t
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="providers" style="width: 100%">
\t <option value="prov_1">Provider 1</option>
\t <option value="prov_2"> Provider 2</option>
\t <option value="prov_3">Provider 3</option>
</select>
Am ersten Ajax-Aufruf der url
Variable, die ist Standardmäßig wird /provider/provider_id_to_change/offers
erfolgreich geändert, aber danach können alle Ajax-Aufrufe die url
nicht wie erwartet ändern. Um die verschiedenen Änderungen an der URL anzuzeigen, gibt es in meinem Code eine alert
, die die erste url
vor dem Ajax-Anruf und eine andere alert
anzeigt, die nach dem Ajax-Anruf angezeigt wird.
Ein JSFIDDLE Demo ist verfügbar.
Bitte helfen Sie mir.
Nachdem Sie es einmal geändert haben, wurde der "provider_id_to_change" -Teil entfernt, so dass es nichts mehr zu ersetzen gibt.Sie müssen die ursprüngliche Vorlage in einer separaten Variablen behalten, die sich niemals ändert ('var urlTemplate =" ... "' und 'url = urlTemplate.replace (...)' – JJJ
müssen deklariert werden var url = "/ provider/provider_id_to_change/offers "; in providers.change callback –
Ich weiß nicht, wie ich hierher komme aber lol (_ [proof] (http://imageshack.com/a/img923/599/iK12wK.png) _) –