目前,我正在为我的大学Moodle Plattform编写一个聊天机器人。一切正常,但只有一部分:
当我尝试访问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 Dev Tools)调用它时,它也可以正常工作。 只有当我单击按钮时才不会!
如何保留id部分?
我很感谢您的帮助,因为这是我的学士论文遗漏的最后一点,直到我可以将其交到...:-(
答案 0 :(得分:1)
这是因为您使用的不是链接,而是表单。表单通过GET发送其数据,这意味着所有表单内容(在本例中为空)都作为参数放入url中,从而覆盖了您的ID。
我建议使用一个实际的链接,因为该表单看起来无论如何都不应该发送数据。链接如下所示:
<a href="https://hagenberg.elearning.fh-ooe.at/course/view.php?id=7961" target="_blank">Kurs anzeigen!</a>
让我知道这是否对您有用。