如何使用XMLHttpRequest传递变量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (54)

如何用XMLHTTPRequest将变量发送到服务器,是吗?我是否可以将它们添加到get请求的URL后面?

XMLHttpRequest("GET", "blahblah.psp?variable1=?" + var1 + "?variable2=" + var2, true)
提问于
用户回答回答于

对于简单的情况,手动格式化查询字符串是可以的。但是,当有许多参数时,您可以编写一个简单的实用程序函数来处理为您构建查询格式。

function formatParams( params ){
  return "?" + Object
        .keys(params)
        .map(function(key){
          return key+"="+encodeURIComponent(params[key])
        })
        .join("&")
}

你可以用它来构建一个请求。

var endpoint = "https://api.example.com/endpoint"
var params = {
  a: 1, 
  b: 2,
  c: 3
}

var url = endpoint + formatParams(params)
//=> "https://api.example.com/endpoint?a=1&b=2&c=3"
用户回答回答于

如果您想要使用get将变量传递给服务器,则是这样的。也可以使用POST。

完整的样本如下:

var url = "bla.php";
var params = "somevariable=somevalue&anothervariable=anothervalue";
var http = new XMLHttpRequest();

http.open("GET", url+"?"+params, true);
http.onreadystatechange = function()
{
    if(http.readyState == 4 && http.status == 200) {
        alert(http.responseText);
    }
}
http.send(null);

扫码关注云+社区

领取腾讯云代金券