首页 > 解决方案 > 如何设置使用发布请求打开页面的链接

问题描述

我们有一个小部件,它具有将用户发送到特定页面的链接。该链接有几个参数,其中一个是基于小部件中输入的一些数据。但是,如果在小部件中输入了足够的数据,则该参数可以将 URL 的长度推到超过 2048 个字符的限制,最终会被截断,从而导致 404 错误。我希望能够创建一个使用 POST 请求打开页面的链接,以绕过该限制。

谁能告诉我如何使用 JavaScript 来实现?我找到了 C# 的解决方案、使用 Angular 的解决方案以及执行提交或所有其他事情的解决方案;但这对我的特殊情况没有帮助,即将用户发送到另一个页面,其中一些数据可能太长而无法在他单击链接时放入常规 URL,并在 JavaScript 中实现。(如果合适的话,AJAX 请求是可以的;我们有几种不同的方式来发送它们。此外,该解决方案必须与 IE 一起使用,因为我们仍然支持 IE 11。)

标签: javascripturlhttp-post

解决方案


您可以为此使用fetch API,它非常简单,默认情况下所有主流浏览器都支持,除了 IE。您只需要创建一个对象,其中包含要发送到 API 的所有数据,然后stringify将这些数据发送到请求正文。

一个简单的 POST 请求示例:

fetch('http://localhost:3000/someendpoint', {
  headers: {},
  body: JSON.stringify({ data: 'I am the data that arrives on the server'}),
  method: POST
})
  .then(res => res.json())
  .then(data => console.log('The response from the server ', data))
  .catch(e => console.error(e))

Fetch API 需要解析 2 个 promise!

在第二个承诺data中,一旦请求成功完成,您就可以执行任何您想做的事情。


推荐阅读