我有一个表单,POST到第三方服务进行验证和信息捕获。在第三方后端,您可以指定错误的URL,一个选项是“引用URL”。
这看起来很完美。用户POST一个无效的表单,他们所在的页面“重新加载”(不是真的,但这就是印象),并从查询字符串中获取错误消息,如下所示:
http://somesite.com/?errorMessages=some%20message~~~some%20other%20message~~~etc
我解析出单独的错误消息并将它们推送到DIV,告知用户出了什么问题。到目前为止一切都很好。
但是,用户继续搞砸表单,当他们再次POST时,引用者现在是整个URL,包括错误消息。服务器回复原始错误消息(毕竟它是引用者!)以及任何剩余的问题:
http://somesite.com/?errorMessages=some%20message~~~some%20other%20message~~~etc&errorMessages=new%20message~~~another%20new%20message~~~etc
您可以看到问题,但要明确:
唷
对于一个简单的问题,这是一个很长的背景故事:
在提交事件中,有没有办法使用JavaScript清除引用URL中的查询字符串?我不想做任何引用欺骗或避免任何合法的安全问题,我只是希望能够发送“真正的”引用页面减去查询字符串。
我已经在使用jQuery了,所以任何答案都可以免费使用它。
答案 0 :(得分:1)
这是一种方法: