是否可以强制用户的浏览器发出(并遵循)正文中包含 JSON 的 GET 请求

Is it possible to force a user's browser to issue (and follow) a GET request with JSON in the body?

本文关键字:正文 请求 GET JSON 包含 用户 浏览器 是否      更新时间:2023-09-26

我正在构建一个与另一个部门的搜索站点接口的Web应用程序。这个想法是用户将开始输入他们希望在我们的网站上搜索的术语 - 例如,"面包"。他们将从其他部门的网站上获得一个 AJAX-y 自动完成列表,其中包含所有可能的术语,其中包括"面包"。选择术语后,他们将被重定向到 http://other-site.com/,并显示搜索所选术语的结果。

问题是我不能简单地重定向到 http://other-site.com/?term={他们选择的任何术语}。根据我得到的 API 规范,我必须将用户重定向到根 URL,http://other-site.com/,并在请求正文中将一些有关搜索词的元数据作为 JSON。这可能吗?我可以通过标头将用户重定向到 http://other-site.com/,但这不会包含请求正文中的数据。我可以提交指向 http://other-site.com/的表单,但正文不会是原始 JSON - 它将是表单数据。

我想

我需要要求其他部门更改他们的 API,但我想在我这样做之前确保这一点。

通常 GET 请求没有正文,因此请尝试使用 POST。

更多信息在这里: GET 与身体

也许这会帮助你 http://skypher.com/wiki/index.php/Programming/JavaScript/serialize%28%29

或者可能是这个问题 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

要回答这个问题 - 不,浏览器不可能发出并跟踪具有 JSON 正文的另一个域的 GET 请求。另一个站点不得不更改其API。