javascript将数据发送到网址

时间:2013-03-09 12:17:22

标签: javascript

我已尝试使用此代码将某些信息发送到特定IP。该IP是一个充当服务器的微控制器。

但是,它会将信息发送到以该IP命名的页面,而不是该IP。

代码是用JavaScript编写的。我该怎么办?使用post方法或Xmlhttprequest以及如何做到这一点。我认为我的代码非常简单:

<!DOCTYPE html>
<html>
<head>
<script>
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
  {
  alert("First name must be filled out");
  return false;
  }
}
</script>
</head>

<body>
<form name="myForm" action="192.168.1.250" onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body>

</html>

2 个答案:

答案 0 :(得分:1)

您需要包含协议

action="http://192.168.1.250"

答案 1 :(得分:0)

如果您想要将用户发送到该IP,那么您将使用POST。如果实际上你想要保持在同一页面上,发送信息 - 反之亦然,那么确实一个AJAX调用就足够了。下面我使用vanilla JavaScript而不是任何JavaScript库,虽然使用jQuery会为你提供一些回调/帮助,以使你的代码更稳定。

jsFiddle:http://jsfiddle.net/atjBQ/3/

<script>
    /** 
     * Validate Form, else, Send Ajax
    **/
    function validateform() {
       var x = document.forms["myForm"]["fname"].value;
        if ( x == null || x == "" ) { 
            alert( "First Name must be filled out" );  
            return false;
        }

        /** 
         * If POST
         *   use: xmlhttp.setRequestHeader(
         *           "Content-type", 
         *           "application/x-www-form-urlencoded"
         *           );
        **/
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET", "http://192.168.1.250?q=" + x, true);
        xmlhttp.send();
        return false;
    }
</script>

<form name="myForm" id="myformtosend">
    <label for="fname">First name:</label><input type="text" name="fname" />
    <input type="submit" value="Submit" />
</form>

使用jQuery

/** 
 * Snippet Reference to: 
 * http://api.jquery.com/jQuery.post/   
**/

<script>
   $.ajax({
     type: "POST",
     url: "http://192.168.1.250",
     data: data,
     success: function() {
        /** Some Code **/
     }   
   });
</script>