2013-03-09 177 views
2

我试过这段代码,用于向特定IP发送一些信息。该IP是一个充当服务器的微型控制器。javascript将数据发送到url

但是,它将信息发送到使用该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> 
+0

用于记录,尝试:<输入必要的名称= “FNAME”> – Endless 2013-03-09 13:09:56

回答

1

您需要包括协议

action="http://192.168.1.250" 
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>