是否可以拦截表单提交并将操作更改为不同的 URL,然后再继续提交? 各种表单提交都应该被拦截(用户点击按钮、javascript 调用等)。
编辑: 所有使用 onsubmit 事件的解决方案都不好,因为如所述 here ,调用submit()时不会触发事件:
The form's onsubmit event handler (for example, onsubmit="return false;") will not be triggered when invoking this method from Gecko-based applications.
例如
document.forms["myform"].submit()
不会触发该事件。
最佳答案
根据您使用的 URL,您可能会遇到跨域问题(了解更多信息:https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy 和 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)。这是一种安全措施,可防止某个域上的页面向另一个域发出请求。防止这种情况的方法是在服务器端设置 COR 策略(如果您有权访问它)。
可以将 JSOP 用于 GET 请求,但不能用于 POST 或 UPDATE/PUT,这是提交表单时的情况。
关于javascript - 如何使用纯 JavaScript 拦截表单提交并更改操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32701004/