如何在javascript中执行http请求

时间:2017-12-20 11:06:49

标签: javascript api twitter httprequest

POST /1.1/statuses/update.json?include_entities=true HTTP/1.1
Accept: */*
Connection: close
User-Agent: OAuth gem v0.4.4
Content-Type: application/x-www-form-urlencoded
Content-Length: 76
Host: api.twitter.com

status=Hello%20Ladies%20%2b%20Gentlemen%2c%20a%20signed%20OAuth%20request%21

如何做一个http请求,我是Javascript的新手,我需要发布一条带有api的推文(我需要实现登录按钮),但我不明白如何实现这个http请求

提前致谢

3 个答案:

答案 0 :(得分:1)

您可以使用jquery插件轻松完成此操作:

$.post("/1.1/statuses/update.json",
{
    include_entities: "true",

},
function(data, status){
    alert("Data: " + data + "\nStatus: " + status);
});

答案 1 :(得分:0)

有几种方法。

如果您想要进行正式的POST,例如表单提交,您可以在页面上构建表单元素并提交它。在这篇文章中有一个很好的例子:JavaScript post request like a form submit

否则,您可以使用AJAX,这是一种异步HTTP请求标准,可以使用vanilla JavaScript或使用第三方库(如JQuery)来完成。 Mozilla有很好的资源来学习如何在这个链接上使用AJAX:https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX/Getting_Started

答案 2 :(得分:0)

您也可以使用:https://github.com/floscodes/JS/blob/master/Requests.js

您可以轻松发送 http 请求。只需使用:

const test = (seconds) => {
  let dateType = "seconds";
  let time = seconds;

  const OUTPUT = {
    [seconds % 60 === 0]: {
      dateType: "minutes",
      time: seconds / 60,
    },
    [seconds % 3600 === 0]: {
      dateType: "hours",
      time: seconds / 3600,
    },
    [seconds % 86400 === 0]: {
      dateType: "days",
      time: seconds / 86400,
    },
  };

  return OUTPUT[seconds];
};

console.log(test(60)); // here i need to get the first item from OUTPUT

就是这样!如果站点受 CSRF 保护,它甚至应该可以工作。

或者只是使用发送一个 GET-Request

HttpRequest("https://example.com", method="post", data="yourkey=yourdata");