如何在javascript中写入http请求?

时间:2015-11-10 21:27:35

标签: javascript apache http httprequest httpresponse

我知道可以做到但我对http请求一点也不好。我有一个非常具体的我需要写的。代码在这里,但我不知道返回到我的应用程序的哪一行作为响应。

    var request = new XMLHttpRequest();

request.open('POST', 'https://v2.api.xapo.com/oauth2/token');

request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.setRequestHeader('Authorization', 'Basic YTVlMGExMTViYTc1MThjYzphNWUwYTExNWJhNzUxOGNjYTVlMGExMTViYTc1MThjYw==');

request.onreadystatechange = function () {
  if (this.readyState === 4) {
    console.log('Status:', this.status);
    console.log('Headers:', this.getAllResponseHeaders());
    console.log('Body:', this.responseText);
  }
};

var body = "grant_type=client_credentials&redirect_uri=https://myURI.com";

request.send(body);

这就是我想要做的事情。

curl --include --request POST --header "Content-Type: application/x-www-form-urlencoded" --header "Authorization: Basic MYKEYHERE[auth]" --data-binary "grant_type=client_credentials&redirect_uri=MYREDIRECTURI" 'https://v2.api.xapo.com/oauth2/token'

这个api是here

1 个答案:

答案 0 :(得分:0)

请参阅以下代码:

  function loadDoc() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
          document.getElementById("demo").innerHTML = xhttp.responseText;
        }
      };
      xhttp.open("POST", "demo_get2.asp?fname=Henry&lname=Ford", true);
      xhttp.send();
    }

首先您定义将为您执行http请求的XMLHttpRequest()实例

第二次方法xhttp.onreadystatechange = function()将监听状态更改,这意味着一旦http响应返回就会执行

第三个 xhttp.open方法将确定您的连接配置,例如,我们设置属性“POST”,然后确定要发布给它的链接以及要发布的变量像这样:

  1. 输入链接
  2. 放?马克
  3. 输入变量名称
  4. put =
  5. 输入变量值
  6. put&标记并重复步骤3 4 5如果你想发布更多变量其他什么都没有。
  7. 第四次方法xhttp.send()将启动对服务器的http请求,一旦获得响应,将调用xhttp.onreadystatechange = function(),然后您可以获取响应的内容与xhttp.responseText

    我希望这个例子很清楚