forms - 停止将 "?"添加到 URL

标签 forms http angular

我目前有一个 Angular 2 应用程序,用户可以在其中提交表单来创建新项目。当点击提交按钮时,它会调用一个函数将数据发送到服务器,并在服务器确认数据已成功保存后导航到新页面。

我的问题来了,因为表单提交将表单参数附加到 URL。因此,例如,如果我有一个名为 title 的输入并且提交将我带到路由 mytitle 这是 title 字段的输入,Angular (或注入(inject) GET 参数的任何东西)将尝试导航到 mysite.com/mytitle?title=mytitle 而不仅仅是 mysite.com/mytitle。即使将 [ngModelOptions]="{standalone: true}" 添加到我的所有输入中,仍然会留下一个问号,后面没有任何参数。

这是一个问题,因为它会导致 Angular 重新加载应用程序,因为给定的路由与我的路由定义中的任何路由都不匹配。有没有办法完全禁用注入(inject) URL 的 GET 参数? POST 也不起作用,因为我无处可发布,而且我的下一个 URL 使用表单本身的数据。

最佳答案

我找到了问题的答案,“提交”按钮默认为“提交”类型,因此将其更改为“按钮”类型删除了 GET 参数注入(inject)行为。

关于forms - 停止将 "?"添加到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38707876/

相关文章:

javascript - 如何处理 Angular 5 中 undefined object 属性

javascript - 使用 jQuery 停止表单提交

指定字体时 HTML 输入框对于数据来说太宽

http - 无法在 meteor 1.3 的客户端上导入 HTTP 模块

javascript - 访问 Angular Material 表中的输入字段

javascript - 在不向 URL 添加参数的情况下在 Angular 7 中导航

mysql - 2个jsp表单保存到一个SaveServlet中

javascript - preventDefault 表单提交在 bootstrap popover 中不起作用

php - localhost 目前无法处理此请求。 Laravel 的 HTTP 错误 500

ajax - 从单个浏览器排序 HTTP 调用