Ich habe Probleme beim Versuch, mit jQuery auf eine neue URL umzuleiten, aber irgendwie funktioniert es in diesem speziellen Fall nicht. Ich verwende jQuery mit HTML und Django Backlog, aber ich glaube nicht, dass irgendetwas davon dazu führt, dass die undefinierten Parameter angezeigt werden. Der Code ist ziemlich einfach:
$(document).on('click', '.view-diagnostics', function(){ let url = $(this).data("href"); window.location.pathname = url; })
Das angeklickte HTML-Element lautet wie folgt:
<td> <div class="view-diagnostics"> <button class="button h-btn view-diagnostics" data-href="{% url "internet:diagnose" %}">{% trans "View diagnostics"%} </button> </div> </td>
In diesem Fall kann ich console.log(url)
记录 URL 并获取 "/something/something/"
形式的字符串,我可以使用浏览器中的检查工具使用断点来查看该 URL 确实包含正确的 URL,并且我可以获得 URL 的类型,它是一个字符串。然而,当我单击执行此代码的按钮时,该站点会重定向到 http://127.0.0.1:8000/undefined
verwenden (ich verwende einen lokalen Server), sodass die URL jetzt irgendwie undefiniert ist.
Ich habe eine Reihe verschiedener Möglichkeiten ausprobiert, darunter auch alle Methoden zur Umleitung auf eine neue URL, einschließlich window.location = url
、window.location.href = url
, aber es wird immer als undefiniert angezeigt. Ich habe auch versucht, den Inhalt und den Typ der URL auszudrucken, und alles sieht gut aus. Das Seltsamste für mich ist, wenn ich den Code in
$(document).on('click', '.view-diagnostics', function(){ let url = $(this).data("href"); url = "/something/something/" window.location.pathname = url; })
Selbst wenn ich die URL aus dem console.log()-Ergebnis der ersten let-URL-Zeile kopiere und einfüge, leitet der Code korrekt zur richtigen URL weiter.
Um das Problem zusammenzufassen: Es gibt eine Schaltfläche, die data-href
包中的 URL。单击按钮时,我会在 jQuery 中获取 URL,并将其保存为 URL。我现在可以使用 console.log()
记录 URL 并获取类型,然后我得到 URL 和我期望的类型(字符串)。当我尝试重定向到此 URL 时,出现错误,无法重定向到 URL http://127.0.0.1:8000/undefined
enthält. Als ich die URL in eine kopierte und eingefügte Zeichenfolge aus einem früheren Protokollierungstest fest codierte, funktionierte die Umleitung plötzlich.
Weiß jemand, was ich sonst noch versuchen kann, um dieses Problem zu lösen?
您的选择器
.view-diagnostics
匹配两个 元素。按钮
和div
。为按钮调用您的函数并将您期望的值分配给
window.location.pathname
。然后事件冒泡到
div
并第二次调用该函数。div
没有任何data-*
属性,因此url
是未定义
。它被分配给window.location.pathname
并覆盖之前的分配。