2013-03-09 145 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>