英文:
Go - How to load a new html form
问题
在Go程序中成功处理了来自HTML表单的jQuery Ajax Post之后,我该如何加载一个新的表单?我首先尝试将表单作为响应发送,并且JavaScript将其显示出来,但它没有清除旧的(现有的)表单。然后,我尝试在HTML的JavaScript中使用"window.location = 'localhost:8088/MaintForm/'"来设置URL。这导致浏览器发出警告,但没有加载表单,也没有改变URL。我希望能够了解两种方法 - 通过充当服务器的Go程序和通过JavaScript。如果我手动更改URL,表单就可以正常加载。我想要做的是在JavaScript(jQuery Ajax)中接收响应,然后如果响应是积极的,则请求新的表单。我希望在不更改URL的情况下完成这个操作。正如我上面所说,这部分起作用了。
英文:
After processing a jQuery Ajax Post from an HTML form successfully within a Go program, how do I load a new form? I first tried sending the form as the response and the Javascript displayed it, but it did not clear the old (existing) form. I then tried within the HTML Javascript to set the URL using "window.location = 'localhost:8088/MaintForm/'". That resulted in a warning from the browser but did not load the form and did not change the URL. I would like to ideally know both methods - via the Go program acting as a server, and via Javascript. If I manually change the URL, the form loads OK. What I am trying to do is receive a response in Javascript (jQuery Ajax), and then request the new form if the response is positive. I would prefer to do this without changing the URL. As I said above, this partially worked.
答案1
得分: 1
你需要将原始表单放在一个标签内,例如一个div,并使用你的JQuery代码将该标签的内容替换为新的表单。这样你就不会改变URL。
这更多是一个关于javascript/JQuery的问题,而不是go特定的问题。
英文:
You would have to put your original form inside a tag, for example a div, and use your JQuery code to replace the contents of that tag with the new form. This way you are not changing the URL.
This is more of a javascript/JQuery question than a go-specific one.
答案2
得分: 0
在JavaScript中:
location.href = '/MaintForm/';
在Go语言中,你可以使用http.Redirect
函数,像这样:
http.Redirect(w, r, "/MaintForm/", http.StatusFound)
英文:
In javascript:
location.href = '/MaintForm/';
In golang, you can use the http.Redirect
function, like this:
http.Redirect(w, r, "/MaintForm/", http.StatusFound)
答案3
得分: 0
请注意:这个问题似乎已经通过在Javascript中执行"document.write(data);"来解决。"Data"包含了新的HTML内容。
英文:
Please note: this appears to be solved by : I just need to do an "document.write(data);" in Javascript. "Data" contains the new HTML.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论