如何使用 XMLHttpRequest 发送 POST 数据

Posted

技术标签:

【中文标题】如何使用 XMLHttpRequest 发送 POST 数据【英文标题】:How to Send POST data using XMLHttpRequest 【发布时间】:2022-01-03 15:27:28 【问题描述】:

我尝试使用此代码登录,但它不起作用

'

              http.open('POST', "https://s2.travian.vip/login.php", true);

             
              http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
              http.setRequestHeader('Host', 's2.travian.vip');
              http.setRequestHeader('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0');
              http.setRequestHeader('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8');
              http.onreadystatechange = function () 
                  if (http.readyState == 4 && http.status == 200) 
                      alert("oky");
                  
              
              http.send("name=abccc&password=1111111&s1.x=61&s1.y=8");'

【问题讨论】:

【参考方案1】:

如果有意义,请在 http 之前添加该行:const http = new XMLHttpRequest();

【讨论】:

是的,我知道,但代码不起作用 如果您尝试访问其他主机,这可能是 CORS 问题。我已经尝试了您的代码,并且能够看到触发的警报消息。 尝试在禁用 CORS 的浏览器中运行它

以上是关于如何使用 XMLHttpRequest 发送 POST 数据的主要内容,如果未能解决你的问题,请参考以下文章

如何重新发送失败的xmlHttpRequest

如何使用 XMLHTTPRequest 传递变量

XMLHttpRequest.send()发送Blob二进制数据,serverlet中如何接收?

XMLHttpRequest 发送 JS 对象

XMLHttpRequest 不发送 POST 数据

使用formdata时如何在XMLHttpRequest中添加头数据?