Javascript 页面加载时发布到web服务

Javascript 页面加载时发布到web服务,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图在页面加载时向web服务发送一些数据,然后允许页面继续正常工作。其思想是在页面加载时从客户端获取一些数据,而不需要用户交互,然后让用户正常地继续页面 我使用的是XMLHttpRequest,当我想在不刷新页面的情况下发布到web服务时,我不知道这是否是最好的方法。以下是我当前的测试html: <html> <body> <form name="myform2" method="post" action="./login.asp">

我试图在页面加载时向web服务发送一些数据,然后允许页面继续正常工作。其思想是在页面加载时从客户端获取一些数据,而不需要用户交互,然后让用户正常地继续页面

我使用的是XMLHttpRequest,当我想在不刷新页面的情况下发布到web服务时,我不知道这是否是最好的方法。以下是我当前的测试html:

<html>
<body>
    <form name="myform2" method="post" action="./login.asp">
        First Name: <input type="text" name="fname" /><br><br>
        Last Name : <input type="text" name="lname" />
        <input type="submit" value="Submit" />
    </form>


<form action="" id="myform">
    <input type="submit" value="send-info"/>
</form>

<script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
<script type="text/JavaScript">

$(document).ready(function() {
    $(document).on('submit', '#myform', function() {
        var http = new XMLHttpRequest();

        var params = ("myvar=somedata");
        http.open("POST", "http://127.0.0.1:3000", true);

        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

        http.send(params);
        return false;
     });
});
</script>

</body>
</html>
现在,当我点击send info按钮时,数据就被发送了,但是我需要在没有用户交互的情况下发送数据,不刷新页面,也不允许在这之后需要任何附加逻辑。我尝试了window.onload,但没有成功


请原谅我编程能力差,我不太精通Javascript。

您应该能够在提交时删除,以便在调用document ready事件时运行代码。此外,如果您使用jquery,则可以使用其ajax功能简化http调用:

$(document).ready(function() {
  $.ajax({
    type: "POST",
    url: "http://127.0.0.1:3000",
    data: { "myvar" : "somedata" }
   });
});

您应该能够在提交时删除,以便在调用document ready事件时运行代码。此外,如果您使用jquery,则可以使用其ajax功能简化http调用:

$(document).ready(function() {
  $.ajax({
    type: "POST",
    url: "http://127.0.0.1:3000",
    data: { "myvar" : "somedata" }
   });
});

现在您正在提交表单上发送数据。因此,您需要在$document.readyfunction之后立即使用ajax调用

     $(document).ready(function()({
myvar = somedata;
 $.ajax({
          url: "test.html",
          type: "Post",
          data: {myvar : myvar},
          success: function(response){
            //do anything here
          }
        });
});

现在您正在提交表单上发送数据。因此,您需要在$document.readyfunction之后立即使用ajax调用

     $(document).ready(function()({
myvar = somedata;
 $.ajax({
          url: "test.html",
          type: "Post",
          data: {myvar : myvar},
          success: function(response){
            //do anything here
          }
        });
});

谢谢,删除提交时的内容是我缺少的。我已经制作了两个版本,一个带有ajax,另一个没有,以防万一。谢谢,删除提交时的内容是我所缺少的。我已经制作了两个版本,一个带有ajax,另一个没有,以防万一。