目前我正在为我的大学 Moodle Platform 编写一个聊天机器人。除了一部分之外,一切都工作正常:
当我尝试访问 Moodle 中的一个页面时,html 链接根本无法正常工作。当通过我的按钮调用链接时,最后一个 ID 部分会被剪切。
我希望在我的浏览器中显示此链接: “https://hagenberg.elearning.fh-ooe.at/course/view.php?id=7961”
但我总是在调用后得到这个: “https://hagenberg.elearning.fh-ooe.at/course/view.php?”
我做错了什么?
这是我的代码:
let link = props.item.object[2].buttons[0].postback.toString();
if (attachment.type === "card") {
console.log(link);
return (
<div>
<form action={link} method="get" target="_blank">
<button id="linkbutton">Kurs anzeigen!</button>
</form>
</div>
);
}
当检查控制台中的元素时,我得到这个:
<form action="https://hagenberg.elearning.fh-ooe.at/course/view.php?id=7961"
method="get" target="_blank">
<button id="linkbutton">Kurs anzeigen!</button></form>
因此链接完美地粘贴到按钮上。当我从控制台(Chrome 开发工具)调用它时,它也运行得很好。 只有当我单击该按钮时,它才不会!
如何保留 id 部分?
我很感谢您的帮助,因为这是我的学士论文最后缺少的一点,直到我可以交出它......:-(
最佳答案
这是因为您使用的不是链接,而是表单。表单通过 GET 发送数据,这意味着所有表单内容(在本例中什么都没有)都作为参数放入 url 中,覆盖您的 id。
我建议使用实际的链接,因为该表单看起来不应该发送数据。链接如下所示:
<a href="https://hagenberg.elearning.fh-ooe.at/course/view.php?id=7961" target="_blank">Kurs anzeigen!</a>
请告诉我这是否适合您。
关于javascript - 正确的 HTML 链接不起作用(最后 7 个字符在浏览器中被剪切)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54463198/