Aks*_*nde 3 javascript api payment post node.js
我想调用支付网关,因为使用表单提交和方法调用该支付网关post,我可以使用来自节点 js HTTP 模块的 post API 调用调用同一个网关吗,我很困惑,我不能使用 post API 调用网关,因为它不会重定向到新页面,并且表单具有method并且action可以通过 post call 重定向到新页面?
有多种方法可以从浏览器提交表单:
.submit()表单对象上的方法。使用#1 或#2,浏览器发送表单,浏览器会注意重定向并在浏览器中显示表单响应(无论是否重定向)。
使用 #3 和 #4,表单通过 Javascript 发送,响应返回到您的 Javascript。#3 不处理重定向。#4 有一个选项来处理重定向。以下是有关上述每个选项的更多信息。#3 和 #4 不影响浏览器显示完全不受影响,除非您编写自己的 Javascript 来处理请求并影响浏览器显示(通过插入内容或设置window.location为新 URL。
以下是有关上述方案的更多信息:
使用 XMLHttpRequest 的编程 Ajax 调用不会以任何方式处理重定向或来自 Ajax 调用的响应。他们只是将该响应返回给您的 Javascript。请记住,重定向只是您可以从 Ajax 调用返回的一种特定类型的响应。这与浏览器提交表单 POST 不同。
带有fetch()接口的程序化 Ajax 调用提供了自动跟踪重定向的选项。请参阅此处的redirect选项。但是,即使在这种情况下,接口所做的只是获取重定向 URL 的内容。它不会导致浏览器页面发生变化。为此,您必须编写自己的 Javascript 代码来查看 3xx 重定向响应,然后设置为新的重定向 URL。或者,您必须让界面自动跟随重定向,然后对将返回到您的 Javascript 的新重定向内容执行某些操作。fetch()window.location
这些编程请求不同于让浏览器为您提交表单。在浏览器提交的情况下(不使用 Javascript 提交表单),浏览器遵循重定向并根据从表单响应返回的任何内容更新浏览器中的显示。
当您通过 Ajax 提交表单时,浏览器不会自动处理服务器响应。该响应返回到您的 Javascript,您的脚本决定如何处理它。如果您希望您的脚本遵循重定向,那么您必须检查响应,查看它是否为 3xx 状态,从相应的标头中获取新 URL 并设置window.location为该新 URL。这将导致浏览器显示重定向页面。但是,您必须自己编写程序或找到一个 Ajax 库,该库提供了一个功能来完成它。标准的 Ajax 调用只是将表单 POST 响应返回给您的 Javascript - 仅此而已。您的脚本必须处理该响应并决定下一步做什么。
我很困惑,我无法使用 post API 调用网关,因为它不会重定向到新页面
你可以。您只需要编写自己的 Javascript 来处理来自编程 API 调用的响应,如果是 3xx 重定向,则设置window.location为新 URL 以指示浏览器加载新的重定向页面。
| 归档时间: |
|
| 查看次数: |
2414 次 |
| 最近记录: |