定期HTTP GET请求,而不使用“提交”输入

时间:2017-12-21 10:10:41

标签: http get request

我想创建一个定期(例如每0.5秒)使用GET方法向服务器发送HTTP请求而不使用“form”标记的“Submit”输入的HTML页面。有可能吗?我能怎么做?

3 个答案:

答案 0 :(得分:0)

使用setTimeout()setInterval()$.ajax()

var getRequest = function () {
    $.ajax({
        url: '/some_url',
        method: 'GET',
        data: {
            // some data
        },
        success: function (data) {
            setTimeout(getRequest, 500);
        }
    });
};

答案 1 :(得分:0)

我试过这个 shtml 代码

<html>
  <head>
    <title>Transmit-Receive Demo</title>
    <script type="text/javascript">
      function request_transmit()
        {
          var xhr = new XMLHttpRequest();
          xhr.open('GET', "http://172.23.159.1/input.cgi?input=on&submit=Submit", true);
          xhr.send();
        }
      function my_timer()
        {
          setInterval(request_transmit, 500);
        }
    </script>
  </head>
  <body onload="my_timer();">
    <p>
      Received string:  <!--#input-->
    </p>
  </body>
</html>

请求已正确发送到服务器,但我无法在 shtml 页面中显示答案。答案由以下块处理:

<p>
  Received string:  <!--#input-->
</p>

其中&#34; #input&#34;是一个SSI命令。 另一个问题是HTTP请求的频率。如果它大于500毫秒则没有问题,否则,服务器会出现时间错误。

答案 2 :(得分:0)

我试过这段代码

<html>
  <head>
    <title>Transmit-Receive Demo</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
      var getRequest = function() {
      $.ajax({
          url: 'http://172.23.159.1/input.cgi?',
          method: 'GET',
          data: {input=on&submit=Submit},
          success: function(data){setTimeout(getRequest, 500);}
      });
    </script>
  </head>
  <body onload="function();">
    <p>
      Received string:  <!--#input-->
    </p>
  </body>
</html>

HTTP请求已正确发送和接收,但不是循环播放。