【发布时间】:2014-08-19 13:05:49
【问题描述】:
我需要向服务器发送一个 JSON(我可以对其进行字符串化)并在用户端检索生成的 JSON,而不使用 JQuery。
如果我应该使用 GET,我如何将 JSON 作为参数传递?会不会有太长的风险?
如果我应该使用 POST,如何在 GET 中设置等效于 onload 的函数?
或者我应该使用其他方法吗?
备注
这个问题不是关于发送一个简单的 AJAX。它不应该作为重复关闭。
【问题讨论】:
-
您需要使用
XMLHttpRequest。尽管有这个名字,你可以将它用于 JSON 数据(这实际上是 jQuery 在后台执行它的方式)。 -
我会发布数据。看看这个:youmightnotneedjquery.com。它展示了如何使用 vanilla JS 获取/发布数据。
-
@Ed Cottrell 引用的问题与这个问题无关。参考是关于 (JUST)
sending一个 ajax 请求,这是一个非常普遍的事情。这个要求sending但和receiving JSON在纯JavaScript 中。此外,为了发回这个 JSON,您必须知道如何解决server-side上的这部分问题,这是引用问题中未提及的另一件事。 -
@Ed Cottrell 您提到的问题没有得到批准的答案,并使用旧方法创建 Ajax 请求。它没有提供这个问题的完整答案。我的问题比传统的 Ajax POST 或 GET 更微妙。你没抓住重点。
-
@JVerstry
onreadystatechange是您用来模拟onload的东西,如下面接受的答案所示。对于解析,您只需使用JSON.parse()(再次,如答案所示),但我假设您已经知道这一点,因为您在问题中提到了字符串化。我试图通过向您指出涵盖这些要点的不是 1 个而是 2 个问题来帮助您。显然存在一些差异——很少有 2 个问题完全相同相同——但如果您已经知道如何对 JSON 进行字符串化和解析,这将是微不足道的。也就是说,既然你和@hex494D49 不同意,我提名这个重新开放。
标签: javascript json post get xmlhttprequest