本文介绍如何使用原生 JavaScript 解析 URL 中的查询参数,并通过 XMLHttpRequest 对象发送 JSON 格式的 POST 请求。文中提供了完整的代码示例,涵盖参数提取逻辑、请求头设置、状态监听及数据提交过程,适用于前端开发中的常见网络交互场景。
获取 URL 参数
<script type="text/javascript">
首先介绍如何获取 URL 中的所有参数值。通过解析当前页面的地址栏信息,可以提取出查询字符串中的键值对。
发送 JSON POST 请求
function US() {
var name, value;
var str = location.href;
var num = str.indexOf("?");
str = str.substr(num + 1);
var arr = str.split("&");
for (var i = 0; i < arr.length; i++) {
num = arr[i].indexOf("=");
if (num > 0) {
name = arr[i].substring(0, num);
value = arr[i].substr(num + 1);
this[name] = value;
}
}
}
接下来演示如何使用 JavaScript 发送 JSON 格式的 POST 请求。通过构建 XMLHttpRequest 对象,配置请求方法为 POST,设置相应的请求头,并将 JSON 数据作为请求体发送出去。
var us = new US();
var xhr = new XMLHttpRequest();
xhr.open("POST", "/searchguard/api/v1/auth/login", true);
xhr.setRequestHeader("Content-type", "application/json");
xhr.setRequestHeader("kbn-version", "5.3.0");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
window.location.href = us.nextUrl;
}
}
};
xhr.send(JSON.stringify({
"username" : us.u,
"password" : us.p
}));
</script>
以上就是 JavaScript 获取 URL 参数以及发送 JSON 格式 POST 请求的完整实现方法。希望这些内容能为您的开发工作提供参考和帮助。