Ich habe einen jQuery-Code in Ausführen, wenn Seite lädt Abschnitt meiner Oracle APEX-Seite. Meine Seite besteht aus dynamischem PL/SQL-Inhalt, konkret aus zwei Auswahllisten, die wie ein Filter wirken. Wenn also der ausgewählte Wert einer dieser Auswahllisten geändert wird, wird die Umleitung mit den richtigen Seitenelementwerten aufgerufen. JQuery-Code unten behandelt nur die zweite Auswahlliste, die Seitenumleitung aufruft.URL kodiert utf8 Zeichen zu% in Oracle APEX js Umleitung
var appId = $v('pFlowId');
var pageId = $v('pFlowStepId');
var this_page_link_prefix = 'f?p='+appId+':'+pageId+':::NO:RP:';
$(document).on('change', '#category_select', function() {
if ($(this).val() != '') {
var href = this_page_link_prefix+'P'+pageId+'_FILTER_CATEGORY,P'+pageId+'_FILTER_RACE_TYPE:'
+$(this).val()+','+$('#race_type_select').val()+':';
console.log(href);
$(location).attr('href', href);
}
});
Hier stieß ich auf ein Problem, das ich selbst nicht lösen kann. Wenn mein Filter UTF-8-Zeichen wie "Ž" enthält, wird die URL in% codiert. Zum Beispiel, wenn die Auswahlliste enthält "Ženy", sieht meine umgeleitet URL wie folgt aus:
fp = 123: 5: 9348018667019 :: NO: RP: P5_FILTER_CATEGORY, P5_FILTER_RACE_TYPE: % 25C5% 25BDeny, 1
Wenn ich versuche href Variable Konsole anmelden, enthält es die richtige URL:
fp = 123: 5: 9348018667019 :: NO: RP: P5_FILTER_CATEGORY, P5_FILTER_RACE_TYPE: Ženy, 1
ich denke, Ich habe alle Anwendungseinstellungen durchsucht und kann immer noch keine Lösung finden r dies. Ich werde jede Hilfe schätzen.
Browser hat es nicht getan. Ich habe UTF-8-Zeichen richtig erkannt, nachdem ich sie in die URL-Leiste eingegeben habe. Es war wirklich seltsam, da sich die gleiche Anwendung auf 2 Servern unterschiedlich verhielt. Auf dem Produktionsserver wurde diese% Kodierung nicht ausgeführt. Wie Sie im zweiten Absatz erwähnt haben, habe ich mein PL/SQL-Paket eingecheckt, wenn der Inhalt des Seitenelements% codiert ist. Dann habe ich die UTL_URL.UNESCAPE Funktion benutzt und jetzt ist alles in Ordnung. –