首页 > web前端 > js教程 > 如何在 JavaScript 中使用 XMLHttpRequest 发送 POST 数据?

如何在 JavaScript 中使用 XMLHttpRequest 发送 POST 数据?

DDD
发布: 2024-12-22 04:53:13
原创
843 人浏览过

How to Send POST Data Using XMLHttpRequest in JavaScript?

在 JavaScript 中通过 XMLHttpRequest 发送 POST 数据

在 JavaScript 中,XMLHttpRequest 提供了一种向服务器发送 HTTP 请求的简单方法,包括携带请求数据的 POST 请求。让我们考虑如何使用 XMLHttpRequest 发送与表单等效的数据。

假设您有一个包含以下隐藏输入的 HTML 表单:

<form name="inputform" action="somewhere" method="post">
  <input type="hidden" value="person" name="user">
  <input type="hidden" value="password" name="pwd">
  <input type="hidden" value="place" name="organization">
  <input type="hidden" value="key" name="requiredkey">
</form>
登录后复制

要使用 XMLHttpRequest 复制此表单数据,您可以使用以下 JavaScript 代码片段:

var http = new XMLHttpRequest();
var url = 'get_data.php';
var params = 'user=person&pwd=password&organization=place&requiredkey=key';
http.open('POST', url, true);

// Send appropriate header information
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

http.onreadystatechange = function() {
    if(http.readyState == 4 && http.status == 200) {
        console.log(http.responseText);
    }
}
http.send(params);
登录后复制

在上面的代码中,“params”变量包含要提交的数据URL 编码的键/值对。如果您希望从对象创建动态参数,请考虑以下代码:

var params = new Object();
params.user = 'person';
params.pwd = 'password';
params.organization = 'place';
params.requiredkey = 'key';

// Encode the object into URL-encoded key/value pairs
let urlEncodedDataPairs = [], name;
for( name in params ) {
 urlEncodedDataPairs.push(encodeURIComponent(name) + '=' + encodeURIComponent(params[name]));
}

var params = urlEncodedDataPairs.join('&');
登录后复制

然后可以在 XMLHttpRequest 请求中使用此修改后的“params”变量,如前所述。

以上是如何在 JavaScript 中使用 XMLHttpRequest 发送 POST 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板