GET请求是常见的HTTP请求方式,常用于请求资源或数据。然而,使用 GET 请求发送复杂的 JSON 数据并不是一件简单的任务。在下面的代码示例中,我们将讨论如何使用 GET 请求发送 JSON 字符串中包含的复杂数据。
//定义要发送的数据 变量数据 = { “姓名”:“约翰”, “年龄”:30, “朋友们”: [ { “姓名”:“玛丽”, “年龄”:28 }, { “姓名”:“汤姆”, “年龄”:32 } ] }; //将数据转换为JSON字符串 var jsonString = JSON.stringify(data); //创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 发送请求 m.smtshopping.cn('GET', '/api/data?data=' +encodeURIComponent(jsonString)); xhr.send();
代码中的data变量是一个包含多层数据的JSON对象。为了将数据发送到服务器,我们需要将数据转换为 JSON 字符串。在本例中,我们使用 JSON.stringify() 函数将对象转换为字符串。
打开 XHR 请求时,我们将 URL 参数设置为数据字符串的编码版本。我们使用encodeURIComponent()函数来确保数据字符串被正确编码以在请求中传递。
使用GET请求发送复杂的JSON数据时,我们必须考虑数据长度限制和安全性。 GET 请求通常有数据长度限制,这可能会阻止我们发送大数据。另外,GET请求的URL参数可以记录在浏览器的历史记录中或者存储在日志文件中。因此,如果我们需要发送敏感数据,请考虑使用POST请求或其他HTTP方法。