gpt4 book ai didi

javascript - 防止表单在没有ajax的情况下提交后重定向

转载 作者:行者123 更新时间:2023-11-28 01:44:35 27 4
gpt4 key购买 nike

我的 html 中有一个表单,其中有一个指向不同域的操作 url。提交后,它会重定向浏览器。我希望它被提交但不重定向到另一个页面。我知道我可以使用 Ajax 提交它,但由于域不同,它会给出 CORS 错误。我无法在我自己的 php 文件中镜像请求,因为表单提交是由虚拟信用卡支付系统进行的,并且不允许您镜像它。

那么,有没有什么方法可以在不使用ajax的情况下提交表单但防止重定向。据我所知,不可能用ajax向不同的域发出请求。

最佳答案

解决方案1

AJAX 可以跨域。您需要目标域来在响应上设置适当的 header 。

Access-Control-Allow-Origin: yourdomain.com
Access-Control-Allow-Methods: POST, OPTIONS
Access-Control-Allow-Headers: [anything else you might send]

return false从您的 ajax 调用或调用 preventDefault()以防止浏览器重定向页面。

解决方案2

提交到您自己的服务器端代码并​​模拟事务。但是,您提到他们不允许您镜像它,并且我没有解决此问题的详细信息。您可以向自己的服务器提交 AJAX(没有 CORS 问题,也不需要 header )或普通 POST。

解决方案3将其提交到他们的服务器,但让他们的服务器重定向回您自己网站上的页面。通常有一种方法可以通过他们为您提供的任何 API 控制面板进行设置。再次强调,如果没有具体细节,我无法直接解决问题

解决方案4将数据加载到 iframe 中并在 iframe 中提交。这可能会出现问题,具体取决于 X-Frame-Options 的值或者如果他们有某种 CSRF token ,但您应该能够在 iframe 中发布表单而无需重定向主页。 iframe也可以隐藏并通过JS提交(在表单上使用submit()方法——不需要ajax)

关于javascript - 防止表单在没有ajax的情况下提交后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20480547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com