Saya menghadapi masalah cuba mengubah hala ke URL baharu menggunakan jQuery, tetapi entah bagaimana ia tidak berfungsi dalam kes khusus ini. Saya menggunakan jQuery dengan html dan Django backlog, tetapi saya tidak fikir mana-mana daripada ini menyebabkan parameter yang tidak ditentukan ditunjukkan. Kodnya agak mudah:
$(document).on('click', '.view-diagnostics', function(){ let url = $(this).data("href"); window.location.pathname = url; })
Elemen html yang diklik adalah seperti berikut:
<td> <div class="view-diagnostics"> <button class="button h-btn view-diagnostics" data-href="{% url "internet:diagnose" %}">{% trans "View diagnostics"%} </button> </div> </td>
Dalam kes ini saya boleh menggunakan console.log(url)
记录 URL 并获取 "/something/something/"
形式的字符串,我可以使用浏览器中的检查工具使用断点来查看该 URL 确实包含正确的 URL,并且我可以获得 URL 的类型,它是一个字符串。然而,当我单击执行此代码的按钮时,该站点会重定向到 http://127.0.0.1:8000/undefined
(saya menggunakan pelayan tempatan), jadi entah bagaimana URL kini tidak ditentukan.
Saya telah mencuba pelbagai cara untuk melakukan ini, termasuk mencuba setiap kaedah mengubah hala ke url baharu, termasuk window.location = url
、window.location.href = url
, tetapi ia sentiasa muncul sebagai tidak ditentukan. Saya juga telah mencuba mencetak kandungan dan jenis URL dan semuanya kelihatan baik. Perkara yang paling pelik bagi saya ialah jika saya menukar kod kepada
$(document).on('click', '.view-diagnostics', function(){ let url = $(this).data("href"); url = "/something/something/" window.location.pathname = url; })
Walaupun saya menyalin dan menampal URL daripada hasil console.log() baris URL yang pertama, kod tersebut akan mengubah hala dengan betul ke URL yang betul.
Untuk meringkaskan masalah: terdapat butang yang mengandungi data-href
包中的 URL。单击按钮时,我会在 jQuery 中获取 URL,并将其保存为 URL。我现在可以使用 console.log()
记录 URL 并获取类型,然后我得到 URL 和我期望的类型(字符串)。当我尝试重定向到此 URL 时,出现错误,无法重定向到 URL http://127.0.0.1:8000/undefined
. Apabila saya mengekod keras URL kepada rentetan salin-tampal daripada ujian pengelogan terdahulu, ubah hala tiba-tiba berfungsi.
Adakah sesiapa tahu apa lagi yang boleh saya cuba untuk menyelesaikan masalah ini?
Pemilih anda
.view-diagnostics
匹配两个 元素。按钮
和div
.Panggil fungsi anda untuk butang dan tetapkan nilai yang anda inginkan kepada
window.location.pathname
.Acara itu kemudiannya berbuih ke
div
dan memanggil fungsi untuk kali kedua.div
tidak mempunyai sebarang atributdata-*
, jadiurl
adalahundefined
. Ia ditugaskan kepadadiv
并第二次调用该函数。div
没有任何data-*
属性,因此url
是未定义
。它被分配给window.location.pathname
dan menimpa tugasan sebelumnya.