jQuery를 사용하여 새 URL로 리디렉션하는 데 문제가 있지만, 이 특정한 경우에는 작동하지 않습니다. 저는 html 및 Django 백로그와 함께 jQuery를 사용하고 있지만 이들 중 어느 것도 정의되지 않은 매개변수가 표시되는 원인이라고 생각하지 않습니다. 코드는 매우 간단합니다.
으아아아클릭한 html 요소는 다음과 같습니다.
으아아아이 경우 console.log(url)
记录 URL 并获取 "/something/something/"
形式的字符串,我可以使用浏览器中的检查工具使用断点来查看该 URL 确实包含正确的 URL,并且我可以获得 URL 的类型,它是一个字符串。然而,当我单击执行此代码的按钮时,该站点会重定向到 http://127.0.0.1:8000/undefined
(로컬 서버를 사용하고 있음)을 사용할 수 있으므로 이제 URL이 정의되지 않습니다.
이 작업을 수행하기 위해 window.location = url
、window.location.href = url
를 포함하여 새 URL로 리디렉션하는 모든 방법을 포함하여 다양한 방법을 시도했지만 항상 정의되지 않은 것으로 나타납니다. 또한 URL의 내용과 유형을 인쇄해 보았는데 모두 괜찮아 보입니다. 저에게 가장 이상한 부분은 코드를
첫 번째 let URL 줄의 console.log() 결과에서 URL을 복사하여 붙여넣어도 코드가 올바른 URL로 올바르게 리디렉션됩니다.
문제를 요약하면 data-href
包中的 URL。单击按钮时,我会在 jQuery 中获取 URL,并将其保存为 URL。我现在可以使用 console.log()
记录 URL 并获取类型,然后我得到 URL 和我期望的类型(字符串)。当我尝试重定向到此 URL 时,出现错误,无法重定向到 URL http://127.0.0.1:8000/undefined
가 포함된 버튼이 있습니다. 이전 로깅 테스트에서 복사하여 붙여넣은 문자열로 URL을 하드코딩했을 때 갑자기 리디렉션이 작동했습니다.
이 문제를 해결하기 위해 내가 시도할 수 있는 다른 방법을 아는 사람이 있습니까?
선택기
.view-diagnostics
匹配两个 元素。按钮
和div
.버튼에 대한 함수를 호출하고 원하는 값을
window.location.pathname
에 할당하세요.그런 다음 이벤트가
div
까지 버블링되고 함수를 두 번째로 호출합니다.div
에는data-*
속성이 없으므로url
은정의되지 않습니다
.div
并第二次调用该函数。div
没有任何data-*
属性,因此url
是未定义
。它被分配给window.location.pathname
에 할당되어 이전 할당을 덮어씁니다.