我正在尝试将 JSON 对象从客户端发送到服务器并接收响应,但我发现的所有方法要么不足,要么矫枉过正
Posted
技术标签:
【中文标题】我正在尝试将 JSON 对象从客户端发送到服务器并接收响应,但我发现的所有方法要么不足,要么矫枉过正【英文标题】:I'm trying to send a JSON object from client to server and receive a response but all the approaches I find are either inadequate or overkill 【发布时间】:2020-09-14 22:40:43 【问题描述】:我现在不确定这样做的正确方法是什么。我正在尝试获取一个大的 json 文件,将其发送到服务器,对其进行处理和重新排序,然后将其发送回客户端。我不想在数据库中存储任何数据。我知道有 HTTP GET 动词,但我输入的数据量会比最大长度 URI 长。我还读到您也不应该尝试使用 HTTP POST 来执行此操作。
我也研究了 WebSockets,但对我来说这似乎有点过头了。我只需要进行计算所需的时间的套接字,然后我会关闭它。我也想只与发送给我的客户共享数据。
有没有人有关于做什么的建议。也许只是通过一些我可以阅读的链接向正确的方向推进。我真的在寻找这两种方法中间的东西。
【问题讨论】:
这似乎是 POST 的一个用例。 这是我最初的想法,但this post 似乎不鼓励以我想要的方式使用它,似乎希望我重定向到它托管的另一个页面。我根本不想存储数据。 【参考方案1】:为什么不直接使用 HTTP POST 请求?取自https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST
上的信息框> Request has body Yes
> Successful response has body Yes
> Safe No
> Idempotent No
> Cacheable Only if freshness information is included
> Allowed in html forms Yes
如您所见,HTTP POST 请求用于向服务器发送数据,如果 POST 请求成功,服务器将数据发送回客户端。我认为非常适合您的情况。
不必在 HTML 表单中使用 POST 请求;您可以使用 XHR、AJAX、fetch API 或您能找到的任何其他方式向服务器发送 POST 请求。是的,您可以使用它发送 JSON 数据。
如果您需要更有说服力:
当 POST 请求通过 HTML 表单以外的方法发送时(例如通过 XMLHttpRequest),主体可以采用任何类型。如 HTTP 1.1 规范中所述,POST 旨在允许统一的方法涵盖以下功能:
现有资源的注释 将消息发布到公告板、新闻组、邮件列表或类似的文章组; 通过注册模式添加新用户; 向数据处理进程提供数据块,例如提交表单的结果; 通过追加操作扩展数据库。
请注意,这里说 POST 请求可用于向数据处理进程提供数据块。
希望这对您有所帮助。 :)
【讨论】:
谢谢,起初我认为这可能不是最好的方法,但我想如果它适合它的话。以上是关于我正在尝试将 JSON 对象从客户端发送到服务器并接收响应,但我发现的所有方法要么不足,要么矫枉过正的主要内容,如果未能解决你的问题,请参考以下文章
iPhone- 在 POST 中将 JSON 对象发送到 PHP 服务器并从服务器获取响应